ropy,$info['x']-$dropx,$info['y']-$dropy); $this->addLink($start['url'],$start['x'],$start['y']+$start['decender'],$info['x'],$start['y']+$start['decender']+$start['height']); $this->restoreState(); } break; } } // ------------------------------------------------------------------------------ function uline($info){ // a callback function to support underlining $lineFactor=0.05; // the thickness of the line as a proportion of the height. also the drop of the line. switch($info['status']){ case 'start': case 'sol': // the beginning of the underline zone if (!isset($this->ez['links'])){ $this->ez['links']=array(); } $i = $info['nCallback']; $this->ez['links'][$i] = array('x'=>$info['x'],'y'=>$info['y'],'angle'=>$info['angle'],'decender'=>$info['decender'],'height'=>$info['height']); $this->saveState(); $thick = $info['height']*$lineFactor; $this->setLineStyle($thick); break; case 'end': case 'eol': // the end of the link // assume that it is the most recent opening which has closed $i = $info['nCallback']; $start = $this->ez['links'][$i]; // add underlining $a = deg2rad((float)$start['angle']-90.0); $drop = $start['height']*$lineFactor*1.5; $dropx = cos($a)*$drop; $dropy = -sin($a)*$drop; $this->line($start['x']-$dropx,$start['y']-$dropy,$info['x']-$dropx,$info['y']-$dropy); $this->restoreState(); break; } } // ------------------------------------------------------------------------------ } ?>%PDF-1.3 %���� 1 0 obj << /Type /Catalog /Outlines 2 0 R /Pages 3 0 R >> endobj 2 0 obj << /Type /Outlines /Count 0 >> endobj 3 0 obj << /Type /Pages /Kids [6 0 R ] /Count 1 /Resources << /ProcSet 4 0 R /Font << /F1 8 0 R >> >> /MediaBox [0.000 0.000 595.280 841.890] >> endobj 4 0 obj [/PDF /Text ] endobj 5 0 obj << /Creator (R and OS php pdf writer, http://www.ros.co.nz) /CreationDate (D:20171119) >> endobj 6 0 obj << /Type /Page /Parent 3 0 R /Contents [ 7 0 R 9 0 R ] >> endobj 7 0 obj << /Filter /FlateDecode /Length 1657 >> stream xXnF]7@ᮊi/ #]#@69&&9,7~FPUMn,"Gs3|s<%7R$‘MsLC9IUhg6&w4B7/V]dH 7L`'yBlmfTC)e )j@'~f>{^(q~~ӑ"j9L|p"72"䊣1uU*T5: #H|f#ԍTM.>dćtI7}n. ,Q}(kU(r љMP[,<;m* 0DŽ누cLܠLÁ-/3mJ,-HWїZ( Ĉ.Ͳ;]BS$NUvDWtޫƲB ^1D4Kq HĜ A c *\TxPҒ:SEttTX&Nia{߰l;]Ȓ&c?t"S ܡՠ0  -+=X4V9} <}kf֖47 @ߘo30)BNЂq}g'2 8ÒgHOĜ -o]YUlkTQ(:w^PeQmm`44'd4˃G .Me{1[eKV/֌[JG;rc~+(!Ώ~sapKN/wїiE嚥S@ԆD7\o镩rp^"DR:3}hWemZݗپɀC 8($*u, U/]K_*[0UcsNj B:>\}9cI ;^,4:?m-F=V⳴oY͚pdi="7 n [) ٭!ü0Æ=R ݺy)>;ٯ閣gCb4et-MN!C{|ɔjpЋҲLk6WL9vF_̺V \p B$8wlzf[nCy|*`PV+p v]oXu՛l\NwDsvE&4Hm}*<;{3QnW<Ӫq7t}۫łދs0\Hame7ďBd'_`d 8ȡ022Yk]qeڨ؊2Sjh%&&LgcN$h,c] F|kobkdpc}]#ʹRܧ+Tޫ4[,u .\ca Ł;Wt`Dc`9n"Om  MQ b8zѕpԒN _,{ZK]0[Άp; U=AK>r -upÜucIO' 5e5A$Ps0q>+uLgiGؐH9ppF XRN_-H=j0=&`"DZQ@F0,{:#y{${ R˽ZϾ4{"N?Ud endstream endobj 8 0 obj << /Type /Font /Subtype /Type1 /Name /F1 /BaseFont /Helvetica /Encoding /WinAnsiEncoding >> endobj 9 0 obj << /Filter /FlateDecode /Length 192 >> stream x}O0+ƛ&ZR9(B> startxref 2598 %%EOF