:# D1':"Q OAEW. W[?%TZ@*2/thE-EϨbАݮ͙WϢ_L{L#i1Ҝf꩜n+#ӒCEdCb (iXz" /;ŞTqC >׉KRc}~×ZYgP.KtNӒ Xt ӯJ8ٛNhg+'!wOVG*߶X`ɟ{;݁*RI6 I)@tYpC逸r9ܖIQ[hs6¼";r:\+![U{՘V"rkЪ99$٫ a}PwSUn5GN'E4 04-kЪ99$٫ a}PwSUn5GN'E4?:ױ,PϼFo'8D˓Iq:8=WAPz:&; B;пN. 8ے4 F(8+$+=_T܁0*\sD@xA`N۶6na Z)O5% U{0ɮ Gҳ9fI -#%/`B󥺈2.+2OhPsLKѨ. Q5kH?Xch% 7ԘCTo?0ͼDZ޷h|C{Nov>m_6G*2-Hi%F=Jm~yz>Bp8 *EgOg/N㿝?ym||_HJ5\rfPfE?RM E<0]OVG*߶X`J= 8!F.rJ`CǑ9ǖ*td:RL5iX|6&fĞI:]L\ L~H}7?h+|`M:@Qbz8 $r 1nZ]G*h`˅dxR ĢQ$3pDYk\!ѓ)k 0k-.a5"VuߘInj&i ;&YZ BRvx`:o/lkoRȅ][aٳeΏVGȷE~Lzh!moU'sy{X ~,4qJ#i#\=jQjao&3@)'ڨ? m4"AOgFxq7gǜ;A .oFKN$:H2au2,QK~2 S` yI ĢQ$3[T=Q1}B!Lj Ou-7\uHRfnf7\uHRfnfxg @Qw'5 -VQ 1g"q!6TA=W=r41S"`EOV7&>G5iU'`ii3aٳeΏV;L*k[L;,'aٳeΏVlYPM\xA *"wNYv.# ĢQ$3Ta*9_ûl;ZhX,$(FၭڦcY=PR=\H$B$!_6<-C]w(v'{NQI6Q%h@H'Omg`1Qmik8:Y/\7\uHRfnf7\uHRfnfع t/7i50|.aGF5wؙތuLyYj47"}?\~ۢ6Lyh; o3twr<Κ$ !s!}6֝M\L c,6 ĢQ$3tJCXx!:Lܭ! ljDR"yc_mSy`9w i[:^(@RqjO"4aoSj K|mVCLk{6:a0W.#Q&Y߮uCrw-FJ*tG92֗F }DrE3 rw{( u,VR&aٳeΏVJrSL?PaٳeΏVlYPM\xA *!P%2Wǘzbs]H .n)$Mt5J᜻_H``cw1şbA찓A)`_p}= y%);#[zO`Ǿv1U^+Eo iwbςmSթy ĢQ$3TB3DA7M|CſNX*sq-7_ LLK뽳5Zl}i=:sdnO@|?M@ KCh v׍o-NMdA bπ;h,y+W /̂En|FTzsdȢMQb7#r-[kfSz@E̵+@c6V9FyѴ C+󶪾?;_F*Y_t$p,zd|'ϗPoCeЕb&;o_Oݤlכ)2?\YA޿C}3P:~gX5ɝBa\?Ŀl,L3W>Jt!BJ):6w_r>'I xo^o(Ţ RANZ8n,⚏{LвH"[-z/j@^{Ñ8?TA}:$n?B6aWX^cGWQhC_v7[:yo&| .SN|6Ig"q!6TA=VUtJɦg%wZ'p]~"dTr@æfׁtדloM|b\*joCJ;5` htR*zlp]zHՍ>1,p:f;W>nlnuWʇRKRL_byUu}֋嶢EWG Z7\uHRfnf޷ʫ/"ʮz/>8ķ3 r s`J%EG w >L"ʊ%Bfr8̓Y =Iv7yJ(I/G,j[ O>'2~a̚LyYj47"}?Z#P[T=[ ]1&E gW----------------------------------------- $r['img@border'] = new HTMLPurifier_AttrTransform_Border(); // @clear for br -------------------------------------------------- $r['br@clear'] = new HTMLPurifier_AttrTransform_EnumToCSS( 'clear', array( 'left' => 'clear:left;', 'right' => 'clear:right;', 'all' => 'clear:both;', 'none' => 'clear:none;', ) ); // @height for td, th --------------------------------------------- $r['td@height'] = $r['th@height'] = new HTMLPurifier_AttrTransform_Length('height'); // @hspace for img ------------------------------------------------ $r['img@hspace'] = new HTMLPurifier_AttrTransform_ImgSpace('hspace'); // @noshade for hr ------------------------------------------------ // this transformation is not precise but often good enough. // different browsers use different styles to designate noshade $r['hr@noshade'] = new HTMLPurifier_AttrTransform_BoolToCSS( 'noshade', 'color:#808080;background-color:#808080;border:0;' ); // @nowrap for td, th --------------------------------------------- $r['td@nowrap'] = $r['th@nowrap'] = new HTMLPurifier_AttrTransform_BoolToCSS( 'nowrap', 'white-space:nowrap;' ); // @size for hr -------------------------------------------------- $r['hr@size'] = new HTMLPurifier_AttrTransform_Length('size', 'height'); // @type for li, ol, ul ------------------------------------------- // {{{ $ul_types = array( 'disc' => 'list-style-type:disc;', 'square' => 'list-style-type:square;', 'circle' => 'list-style-type:circle;' ); $ol_types = array( '1' => 'list-style-type:decimal;', 'i' => 'list-style-type:lower-roman;', 'I' => 'list-style-type:upper-roman;', 'a' => 'list-style-type:lower-alpha;', 'A' => 'list-style-type:upper-alpha;' ); $li_types = $ul_types + $ol_types; // }}} $r['ul@type'] = new HTMLPurifier_AttrTransform_EnumToCSS('type', $ul_types); $r['ol@type'] = new HTMLPurifier_AttrTransform_EnumToCSS('type', $ol_types, true); $r['li@type'] = new HTMLPurifier_AttrTransform_EnumToCSS('type', $li_types, true); // @vspace for img ------------------------------------------------ $r['img@vspace'] = new HTMLPurifier_AttrTransform_ImgSpace('vspace'); // @width for table, hr, td, th, col ------------------------------------------ $r['table@width'] = $r['td@width'] = $r['th@width'] = $r['col@width'] = $r['hr@width'] = new HTMLPurifier_AttrTransform_Length('width'); return $r; } } // vim: et sw=4 sts=4