ó
ÊLºVc           @   s¾  d  d l  m Z m Z d  d l m Z d  d l m Z d  d l Z d  d l Z d  d l Z d  d l	 Z	 d  d l
 Z
 d  d l Z d  d l Z d  d l Z d  d l Z d d l m Z d d l m Z d d l m Z m Z m Z m Z m Z d d	 l m Z m Z m Z m Z m Z m Z m Z m  Z  m! Z! m" Z" d
 Z# e j$ j% e j$ j& e' ƒ d ƒ Z( d a) d a+ d a, i d d 6d d 6d d 6d  d 6d! d 6Z- d „  Z. d „  Z/ d e0 f d „  ƒ  YZ1 d S("   iÿÿÿÿ(   t   divisiont   with_statement(   t   datetime(   t   wrapsNi   (   t
   TTFontFile(   t   fpdf_charwidths(   t   substrt   sprintft   print_rt   UTF8ToUTF16BEt   UTF8StringToArray(
   t   PY3Kt   picklet   urlopent   BytesIOt   Imaget
   basestringt   unicodet	   exceptiont   bt   hashpaths   1.7.2t   fonti    g…ëQ¸OŠ@g33333š’@t   a3g
×£p=š‚@t   a4g×£p=
Oz@t   a5id  i  t   letterið  t   legalc         C   s   | t  ƒ  |  <d  S(   N(   t   globals(   t   vart   val(    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt
   set_global,   s    c         C   sR   |  s
 d Sy) t |  d ƒ � } t j | ƒ SWd QXWn t t f k
 rM d SXd S(   s5   Return unpickled object, or None if cache unavailablet   rbN(   t   Nonet   openR   t   loadt   IOErrort
   ValueError(   t   filenamet   fh(    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt
   load_cache/   s    t   FPDFc        	   B   s  e  Z d  Z d d d d „ Z e d „  ƒ Z d „  Z d d „ Z d	 „  Z d
 „  Z	 d „  Z
 d d „ Z d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d d „ Z d „  Z d „  Z d „  Z d d e d „ Z d „  Z d „  Z d  „  Z d d d! „ Z d d d" „ Z d d d# „ Z e d$ „ Z  d% „  Z! e d& „  ƒ Z" e e d' „ Z# e d( d( d) „ ƒ Z$ e d d* „ ƒ Z% e d d+ „ ƒ Z& d d e d, „ Z' d d d- „ Z( d. „  Z) d/ „  Z* d0 „  Z+ d d d1 „ Z, d2 „  Z- e d d3 „ ƒ Z. e de de d4 „ ƒ Z0 d5 „  Z1 e d d d d d d d d6 „ ƒ Z2 e d d d7 d e d8 „ ƒ Z3 e d d d9 „ ƒ Z4 e de de d d d d d: „ ƒ Z5 e d d; „ ƒ Z6 d< „  Z7 d= „  Z8 d> „  Z9 d? „  Z: d@ „  Z; d d dA „ Z< dB „  Z= dC „  Z> dD „  Z? dE „  Z@ dF „  ZA dG „  ZB dH „  ZC dI „  ZD dJ „  ZE dK „  ZF dL „  ZG dM „  ZH dN „  ZI dO „  ZJ dP „  ZK dQ „  ZL dR „  ZM dS „  ZN dT „  ZO dU „  ZP dV „  ZQ dW „  ZR dX „  ZS dY „  ZT dZ „  ZU d[ „  ZV d\ „  ZW d] „  ZX d^ „  ZY e d_ d` da „ ƒ ZZ e db dc dd „ ƒ Z[ RS(f   s   PDF Generation classt   Pt   mmt   A4c         C   s\  |  j  ƒ  i  |  _ d |  _ d |  _ d |  _ i  |  _ d |  _ i  |  _ i  |  _ i  |  _	 i  |  _
 i  |  _ i  |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ i d d	 6d
 d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d  d! 6d" d# 6|  _ d$ |  _ | d% k r€d& |  _ nY | d' k r˜d; |  _ nA | d* k r°d< |  _ n) | d, k rÈd- |  _ n |  j d. | ƒ |  j | |  j ƒ \ |  _  |  _! |  j  |  _" |  j! |  _# |  j  |  j |  _$ |  j! |  j |  _% | j& ƒ  } | d= k rtd1 |  _' |  j  |  _( |  j! |  _) nA | d> k r¤d4 |  _' |  j! |  _( |  j  |  _) n |  j d5 | ƒ |  j' |  _* |  j( |  j |  _+ |  j) |  j |  _, d6 |  j } |  j- | | ƒ | d7 |  _. d8 |  j |  _/ |  j0 d& d | ƒ |  j1 d9 ƒ |  j2 d& ƒ d: |  _3 d  S(?   Ni    i   t    i   id   s   0 Gs   0 gt   Couriert   couriers   Courier-Boldt   courierBs   Courier-Obliquet   courierIs   Courier-BoldObliquet	   courierBIt	   Helveticat	   helveticas   Helvetica-Boldt
   helveticaBs   Helvetica-Obliquet
   helveticaIs   Helvetica-BoldObliquet   helveticaBIs   Times-Romant   timess
   Times-Boldt   timesBs   Times-Italict   timesIs   Times-BoldItalict   timesBIt   Symbolt   symbolt   ZapfDingbatst   zapfdingbatss   latin-1t   pti   R*   iH   gffffff9@t   cmgR¸…ëQ@t   ing      R@s   Incorrect unit: t   pt   portraitR)   t   lt	   landscapet   Ls   Incorrect orientation: gš™™™™Y<@g      $@g¾Ÿ/Ý$â?t	   fullwidths   1.3g¬ÕjµZ­@g‹Åb±X<@(   RB   RC   (   RD   RE   (4   t	   _docheckst   offsetst   paget   nt   buffert   pagest   statet   fontst
   font_filest   diffst   imagest
   page_linkst   linkst	   in_footert   lastwt   lastht   font_familyt
   font_stylet   font_size_ptt   font_stretchingt	   underlinet
   draw_colort
   fill_colort
   text_colort
   color_flagt   wst   anglet
   core_fontst   core_fonts_encodingt   kt   errort   get_page_formatt   fw_ptt   fh_ptt   dw_ptt   dh_ptt   fwR&   t   lowert   def_orientationt   w_ptt   h_ptt   cur_orientationt   wt   ht   set_marginst   c_margint
   line_widtht   set_auto_page_breakt   set_display_modet   set_compressiont   pdf_version(   t   selft   orientationt   unitt   formatt   margin(    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   __init__<   sŽ    
																											!		c         C   s`   t  |  t ƒ rB |  j ƒ  }  |  t k r/ t |  St d |  ƒ ‚ n |  d | |  d | f Sd S(   s0   Return scale factor, page w and h size in pointss   Unknown page format: i    i   N(   t
   isinstanceR   Rm   t   PAGE_FORMATSt   RuntimeError(   R~   Re   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyRg   ”   s    c            s   t  ˆ  ƒ ‡  f d †  ƒ } | S(   s$   Decorator to protect drawing methodsc            s>   |  j  r* | j d ƒ r* |  j d ƒ n ˆ  |  | | Ž Sd  S(   Nt
   split_onlys/   No page open, you need to call add_page() first(   RJ   t   getRf   (   R{   t   argst   kwargs(   t   fn(    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   wrapper¢   s    (   R   (   Rˆ   R‰   (    (   Rˆ   s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt
   check_page    s    iÿÿÿÿc         C   s4   | |  _  | |  _ | d k r' | } n  | |  _ d S(   s   Set left, top and right marginsiÿÿÿÿN(   t   l_margint   t_margint   r_margin(   R{   t   leftt   topt   right(    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyRt   ª   s
    			c         C   s7   | |  _  |  j d k r3 |  j | k  r3 | |  _ n  d S(   s   Set left margini    N(   R‹   RJ   t   x(   R{   R   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   set_left_margin²   s    	c         C   s   | |  _  d S(   s   Set top marginN(   RŒ   (   R{   R   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   set_top_margin¸   s    c         C   s   | |  _  d S(   s   Set right marginN(   R�   (   R{   R   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   set_right_margin¼   s    i    c         C   s&   | |  _  | |  _ |  j | |  _ d S(   s.   Set auto page break mode and triggering marginN(   t   auto_page_breakt   b_marginRs   t   page_break_trigger(   R{   t   autoR   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyRw   À   s    		t
   continuousc         C   s®   | d k s@ | d k s@ | d k s@ | d k s@ t  | t ƒ rL | |  _ n |  j d | ƒ | d k s� | d k s� | d k s� | d k r™ | |  _ n |  j d	 | ƒ d
 S(   s¤   Set display mode in viewer
        
        The "zoom" argument may be 'fullpage', 'fullwidth', 'real',
        'default', or a number, interpreted as a percentage.t   fullpageRG   t   realt   defaults   Incorrect zoom display mode: t   singleR™   t   twos   Incorrect layout display mode: N(   R�   R   t	   zoom_modeRf   t   layout_mode(   R{   t   zoomt   layout(    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyRx   Æ   s    @0c         C   s   | |  _  d S(   s   Set page compressionN(   t   compress(   R{   R£   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyRy   Õ   s    c         C   s   | |  _  d S(   s   Title of documentN(   t   title(   R{   R¤   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt	   set_titleÙ   s    c         C   s   | |  _  d S(   s   Subject of documentN(   t   subject(   R{   R¦   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   set_subjectÝ   s    c         C   s   | |  _  d S(   s   Author of documentN(   t   author(   R{   R¨   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt
   set_authorá   s    c         C   s   | |  _  d S(   s   Keywords of documentN(   t   keywords(   R{   Rª   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   set_keywordså   s    c         C   s   | |  _  d S(   s   Creator of documentN(   t   creator(   R{   R¬   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   set_creatoré   s    c         C   s3   | d k r | |  _  n |  j d t | ƒ ƒ d S(   s   Set document optionRd   s   Unknown document option "%s"N(   Rd   Rf   t   str(   R{   t   optt   value(    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   set_doc_optioní   s    s   {nb}c         C   s   | |  _  | S(   s)   Define an alias for total number of pages(   t   str_alias_nb_pages(   R{   t   alias(    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   alias_nb_pagesô   s    	c         C   s   t  d | ƒ ‚ d S(   s   Fatal errors   FPDF error: N(   Rƒ   (   R{   t   msg(    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyRf   ù   s    c         C   s   d |  _  d S(   s   Begin documenti   N(   RN   (   R{   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyR!   ý   s    c         C   sc   |  j  d k r d S|  j d k r/ |  j ƒ  n  d |  _ |  j ƒ  d |  _ |  j ƒ  |  j ƒ  d S(   s   Terminate documenti   Ni    i   (   RN   RJ   t   add_pageRU   t   footert   _endpaget   _enddoc(   R{   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   close  s    	
	
R,   c         C   s\  |  j  d k r |  j ƒ  n  |  j } |  j r> |  j d } n	 |  j } |  j } |  j } |  j } |  j }	 |  j	 }
 |  j
 } |  j } |  j d k r¾ d |  _ |  j ƒ  d |  _ |  j ƒ  n  |  j | | | ƒ |  j d ƒ | |  _ |  j t d | |  j ƒ ƒ | r |  j | | | ƒ n  | |  _ | d k rE|  j | ƒ n  |	 |  _ |	 d k rj|  j |	 ƒ n  |
 |  _	 | |  _
 |  j ƒ  |  j | k r¾| |  _ |  j t d | |  j ƒ ƒ n  | rÚ|  j | | | ƒ n  |  j | k r| |  _ |  j | ƒ n  |  j |	 k r*|	 |  _ |  j |	 ƒ n  |
 |  _	 | |  _
 | d k rX|  j | ƒ n  d	 S(
   s>   Start a new page, if same page format will be same as previousi    t   Ui   s   2 Js   %.2f ws   0 Gs   0 gid   N(   RN   R!   RX   R\   RY   RZ   Rv   R]   R^   R_   R`   R[   RJ   RU   R·   R¸   t
   _beginpaget   _outR   Re   t   set_fontt   headert   set_stretching(   R{   R|   R~   t   samet   familyt   stylet   sizet   lwt   dct   fct   tct   cft
   stretching(    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyR¶     s`    											
						
	 				c         C   s   d S(   s4   Header to be implemented in your own inherited classN(    (   R{   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyR¿   P  s    c         C   s   d S(   s4   Footer to be implemented in your own inherited classN(    (   R{   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyR·   T  s    c         C   s   |  j  S(   s   Get current page number(   RJ   (   R{   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   page_noX  s    c         C   s“   | d k r$ | d k r$ | d k s0 | d k rI t  d | d ƒ |  _ n$ t  d | d | d | d ƒ |  _ |  j d k r� |  j |  j ƒ n  d S(   s%   Set color for all stroking operationsi    iÿÿÿÿs   %.3f Gg     ào@s   %.3f %.3f %.3f RGN(   R   R]   RJ   R½   (   R{   t   rt   gR   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   set_draw_color\  s
    0$c         C   s¨   | d k r$ | d k r$ | d k s0 | d k rI t  d | d ƒ |  _ n$ t  d | d | d | d ƒ |  _ |  j |  j k |  _ |  j d k r¤ |  j |  j ƒ n  d S(   s$   Set color for all filling operationsi    iÿÿÿÿs   %.3f gg     ào@s   %.3f %.3f %.3f rgN(   R   R^   R_   R`   RJ   R½   (   R{   RÌ   RÍ   R   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   set_fill_colore  s    0$c         C   s†   | d k r$ | d k r$ | d k s0 | d k rI t  d | d ƒ |  _ n$ t  d | d | d | d ƒ |  _ |  j |  j k |  _ d S(   s   Set color for texti    iÿÿÿÿs   %.3f gg     ào@s   %.3f %.3f %.3f rgN(   R   R_   R^   R`   (   R{   RÌ   RÍ   R   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   set_text_coloro  s    0$c         C   s  | r | n |  j  | ƒ } |  j d } d } t | ƒ } |  j r¹ x§ | D]h } t | ƒ } t | ƒ | k r | | | 7} qJ |  j d d r¨ | |  j d d 7} qJ | d 7} qJ Wn4 x1 t d | ƒ D]  } | | j | | d ƒ 7} qÉ W|  j d k r| |  j d } n  | |  j d S(	   s)   Get width of a string in the current fontt   cwi    t   desct   MissingWidthiô  id   g      Y@g     @�@(	   t   normalize_textt   current_fontt   lent   unifontsubsett   ordt   rangeR…   R[   t	   font_size(   R{   t   st
   normalizedRÑ   Rr   RD   t   chart   i(    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   get_string_widthw  s"    	c         C   s<   | |  _  |  j d k r8 |  j t d | |  j ƒ ƒ n  d S(   s   Set line widthi    s   %.2f wN(   Rv   RJ   R½   R   Re   (   R{   t   width(    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   set_line_width�  s    	c         C   sM   |  j  t d | |  j |  j | |  j | |  j |  j | |  j ƒ ƒ d S(   s   Draw a lines   %.2f %.2f m %.2f %.2f l SN(   R½   R   Re   Rs   (   R{   t   x1t   y1t   x2t   y2(    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   line–  s    c         C   sF   | r/ | r/ t  d | |  j | |  j ƒ } n d } |  j | ƒ d  S(   Ns   [%.3f %.3f] 0 ds   [] 0 d(   R   Re   R½   (   R{   t   dash_lengtht   space_lengthRÛ   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt	   _set_dash›  s    #i   c         C   s4   |  j  | | ƒ |  j | | | | ƒ |  j  ƒ  d S(   sŸ   Draw a dashed line. Same interface as line() except:
           - dash_length: Length of the dash
           - space_length: Length of the space between dashesN(   Ré   Ræ   (   R{   Râ   Rã   Rä   Rå   Rç   Rè   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   dashed_line¢  s    c         C   s†   | d k r d } n' | d k s- | d k r6 d } n d } |  j  t d | |  j |  j | |  j | |  j | |  j | ƒ ƒ d S(	   s   Draw a rectanglet   Ft   ft   FDt   DFt   Bt   Ss   %.2f %.2f %.2f %.2f re %sN(   R½   R   Re   Rs   (   R{   R‘   t   yRr   Rs   RÃ   t   op(    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   rect«  s    		c         C   s¨  | d k r d } n' | d k s- | d k r6 d } n d } | | d } | | d } | d }	 | d }
 d t  j d
 ƒ d |	 } d t  j d
 ƒ d |
 } |  j t d | |	 |  j |  j | |  j | |	 |  j |  j | | |  j | | |  j |  j | |
 |  j | |  j |  j | |
 |  j ƒ	 ƒ |  j t d | | |  j |  j | |
 |  j | |	 |  j |  j | | |  j | |	 |  j |  j | |  j ƒ ƒ |  j t d | |	 |  j |  j | | |  j | | |  j |  j | |
 |  j | |  j |  j | |
 |  j ƒ ƒ |  j t d | | |  j |  j | |
 |  j | |	 |  j |  j | | |  j | |	 |  j |  j | |  j | ƒ ƒ d S(   s   Draw a ellipseRë   Rì   Rí   Rî   Rï   Rð   g       @g      @g      @i   i   s+   %.2f %.2f m %.2f %.2f %.2f %.2f %.2f %.2f cs   %.2f %.2f %.2f %.2f %.2f %.2f cs"   %.2f %.2f %.2f %.2f %.2f %.2f c %sNgUUUUUUõ?gUUUUUUõ?(   t   matht   sqrtR½   R   Re   Rs   (   R{   R‘   Rñ   Rr   Rs   RÃ   Rò   t   cxt   cyt   rxt   ryt   lxt   ly(    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   ellipse¶  s:    		

##&##&##&##c      	   C   s#  | j  ƒ  } | d k r; | j d d ƒ | j  ƒ  d } n  | d k rP d } n  | j ƒ  } | d k rq d } n  | | } | |  j k rŽ d S| r¸t j j | ƒ r¯ | } nŽ t rî t j j t j j t | ƒ ƒ rî t j j t | ƒ } nO t	 r-t j j t j j t	 | ƒ ƒ r-t j j t	 | ƒ } n t
 d	 | ƒ ‚ d } t d
 k rlt j j | ƒ d
 d } n4 t d k ršt j j t t | ƒ d ƒ } n d } t | ƒ }	 |	 d k r¼t ƒ  }
 |
 j | ƒ i t t |
 j d
 ƒ ƒ d 6t t |
 j d
 ƒ ƒ d 6t t |
 j d
 ƒ ƒ d 6|
 j d 6d t t |
 j d
 d
 ƒ ƒ t t |
 j d d
 ƒ ƒ t t |
 j d d
 ƒ ƒ t t |
 j d d
 ƒ ƒ f d 6t |
 j ƒ d 6t t |
 j d
 ƒ ƒ d 6t t |
 j d
 ƒ ƒ d 6} i	 t j d d |
 j ƒ d 6d d 6| d 6t |
 j  ƒ d 6t |
 j! ƒ d 6| d 6| d 6t j" | ƒ j# d  6|
 j$ d! 6}	 | r¶y, t% | d" ƒ � } t& j' |	 | ƒ Wd QXWq¶t( k
 r²t) ƒ  j* t* j+ k s³‚  q³q¶Xn  ~
 n  t, |  d# ƒ rãt- t. d
 d$ ƒ ƒ } n t- t. d
 d% ƒ ƒ } i t/ |  j ƒ d d& 6|	 d d 6|	 d d 6|	 d d 6|	 d d 6|	 d d 6|	 d! d! 6|	 d d 6| d 6| d' 6| d( 6|  j | <i |	 d  d) 6d d 6| d 6|  j0 | <i d d 6|  j0 | <ngt% | d* ƒ � } t& j1 | ƒ }	 Wd QXi t/ |  j ƒ d d& 6|  j | <|  j | j2 |	 ƒ |	 j3 d+ ƒ } | r³d
 } t/ |  j4 ƒ } x8 t. d | d ƒ D]# } |  j4 | | k rR| } PqRqRW| d
 k rŸ| d } | |  j4 | <n  | |  j | d+ <n  |	 j3 d, ƒ } | r|	 d d- k rù|	 d  } i | d) 6|  j0 | <qi |	 d. d) 6|	 d/ d0 6|  j0 | <n  d S(1   s   Add a TrueType or Type1 fontR,   t    s   .pklt   arialR3   t   IBt   BINs   TTF Font file not found: %si    i   t   Ascentt   Descentt	   CapHeightt   Flagss   [%s %s %s %s]i   i   t   FontBBoxt   ItalicAnglet   StemVRÓ   s   [ ()]t   namet   TTFt   typeRÒ   t   upt   utt   ttffilet   fontkeyt   originalsizeRÑ   t   wbR²   i9   i    RÞ   t   subsett   unifilenamet   length1R   t   diffR%   t   TrueTypet   size1t   size2t   length2(5   Rm   t   replacet   upperRO   t   ost   patht   existst   FPDF_FONT_DIRt   joint   SYSTEM_TTFONTSRƒ   t   FPDF_CACHE_MODEt   splitextt   FPDF_CACHE_DIRR   R    R'   R   t
   getMetricst   intt   roundt   ascentt   descentt	   capHeightt   flagst   bboxt   italicAnglet   stemVt   defaultWidtht   ret   subt   fullNamet   underlinePositiont   underlineThicknesst   statt   st_sizet
   charWidthsR!   R   t   dumpR#   R   t   errnot   EACCESt   hasattrt   listRÙ   RÖ   RP   R"   t   updateR…   RQ   (   R{   RÂ   RÃ   t   fnamet   uniR  t   ttffilenameR  R  t	   font_dictt   ttfRÒ   R&   t   sbarrt   fontfileR  t   dt   nbRÞ   R%   R  (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   add_fontÛ  sÆ    #		
	!!	
!!

c         B   sÇ  | j  ƒ  } | d k r$ |  j } n  | d k r9 d } n! | d k sQ | d k rZ d } n  | j ƒ  } d | k r� d |  _ | j d d ƒ } n	 d |  _ | d	 k r® d
 } n  | d k rÆ |  j } n  |  j | k r÷ |  j | k r÷ |  j | k r÷ d S| | } | |  j k r9| |  j k r| e	 k rÅe
 j j e | ƒ } | d k sX| d k rk| | j  ƒ  7} n  e | d ƒ �% } e | j ƒ  | d d ƒ d UWd QX| e	 k rÅ|  j d | ƒ qÅn  e |  j ƒ d } i | d 6d d 6|  j | d 6d d 6d d 6e	 | d 6|  j | <q9|  j d | d | ƒ n  | |  _ | |  _ | |  _ | |  j |  _ |  j | |  _ |  j | d d k |  _ |  j d k rÃ|  j e d |  j d |  j ƒ ƒ n  d S(   s#   Select a font; size given in pointsR,   Rþ   R3   R<   R>   R»   i   i    Rÿ   R   NR7   s   .fontt   execs&   Could not include font metric file forRÞ   t   coreR
  R  iœÿÿÿR  i2   R  RÑ   s   Undefined font: Rý   R	  s   BT /F%d %.2f Tf ET(   Rm   RX   R  R\   R  RZ   RY   RO   Rc   R   R  R  R  R  R!   t   compilet   readRf   RÖ   Re   RÚ   RÕ   R×   RJ   R½   R   (   R{   RÂ   RÃ   RÄ   R  R  t   fileRÞ   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyR¾   M  sP    					-
$E			c         C   se   |  j  | k r d S| |  _  | |  j |  _ |  j d k ra |  j t d |  j d |  j  ƒ ƒ n  d S(   s   Set font size in pointsNi    s   BT /F%d %.2f Tf ETRÞ   (   RZ   Re   RÚ   RJ   R½   R   RÕ   (   R{   RÄ   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   set_font_size  s    	c         C   sK   |  j  | k r d S| |  _  |  j d k rG |  j t d |  j  ƒ ƒ n  d S(   s1   Set from stretch factor percents (default: 100.0)Ni    s   BT %.2f Tz ET(   R[   RJ   R½   R   (   R{   t   factor(    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyRÀ   ˆ  s
    	c         C   s$   t  |  j ƒ d } d |  j | <| S(   s   Create a new internal linki   i    (   i    i    (   RÖ   RT   (   R{   RK   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   add_link�  s    c         C   sG   | d k r |  j  } n  | d k r0 |  j } n  | | g |  j | <d S(   s    Set destination of internal linkiÿÿÿÿN(   Rñ   RJ   RT   (   R{   t   linkRñ   RJ   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   set_link–  s
    c         C   st   |  j  |  j k r% g  |  j |  j  <n  |  j |  j  c | |  j |  j | |  j | |  j | |  j | f g 7<d S(   s   Put a link on the pageN(   RJ   RS   Re   Rp   (   R{   R‘   Rñ   Rr   Rs   RO  (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyRO  ž  s    c         C   s  |  j  | ƒ } |  j r^ |  j t | t ƒ ƒ } x: t | ƒ D] } |  j d j | ƒ q= Wn |  j | ƒ } t d | |  j	 |  j
 | |  j	 | ƒ } |  j rÌ | d k rÌ | d |  j | | | ƒ 7} n  |  j rñ d |  j d | d } n  |  j | ƒ d S(   s   Output a stringR  s   BT %.2f %.2f Td (%s) Tj ETR,   Rý   s   q s    QN(   RÔ   R×   t   _escapeR	   t   FalseR
   RÕ   t   appendR   Re   Rs   R\   t   _dounderlineR`   R_   R½   (   R{   R‘   Rñ   t   txtt   txt2R>  RÛ   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   text¤  s    	* 	c      
   C   sï   | d  k r |  j } n  | d  k r0 |  j } n  |  j d k rO |  j d ƒ n  | |  _ | d k rë | t j d 9} t j | ƒ } t j | ƒ } | |  j	 } |  j
 | |  j	 } t d | | | | | | | | ƒ	 } |  j | ƒ n  d  S(   Ni    t   Qi´   s7   q %.5F %.5F %.5F %.5F %.2F %.2F cm 1 0 0 1 %.2F %.2F cm(   R    R‘   Rñ   Rb   R½   Rô   t   pit   cost   sinRe   Rs   R   (   R{   Rb   R‘   Rñ   t   cRÛ   Rö   R÷   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   rotateµ  s    	'c         C   s   |  j  S(   s"   Accept automatic page break or not(   R•   (   R{   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   accept_page_breakÇ  s    c	      	   C   s‰  |  j  | ƒ } |  j }	 |  j | |  j k rÉ |  j rÉ |  j ƒ  rÉ |  j }
 |  j } | d k r{ d |  _ |  j d ƒ n  |  j	 d t
 ƒ |
 |  _ | d k rÉ | |  _ |  j t d | |	 ƒ ƒ qÉ n  | d k rï |  j |  j |  j } n  d } | d k s| d k ry| d k r7| d k r.d } q=d } n d	 } t d
 |  j |	 |  j |  j |	 | |	 | |	 | ƒ } n  t | t ƒ rá|  j }
 |  j } d | k rç| t d |
 |	 |  j | |	 |
 |	 |  j | | |	 ƒ 7} n  d | k r4| t d |
 |	 |  j | |	 |
 | |	 |  j | |	 ƒ 7} n  d | k r‰| t d |
 | |	 |  j | |	 |
 | |	 |  j | | |	 ƒ 7} n  d | k rá| t d |
 |	 |  j | | |	 |
 | |	 |  j | | |	 ƒ 7} qán  | d k r| d k r| |  j |  j | t
 ƒ } n2 | d k rB| |  j | t
 ƒ d } n	 |  j } |  j rl| d |  j d 7} n  |  j rÎ|  j rÎx( t | ƒ D] } |  j d j | ƒ q‹W|  j t d t ƒ ƒ } | t d |  j | |	 |  j |  j d | d |  j |	 ƒ 7} | j d ƒ } t | ƒ } x– t | ƒ D]ˆ } | | } d |  j t | t ƒ ƒ d } | t d | ƒ 7} | d | k  r+|  j |  j d |  j  } | t d | | ƒ 7} q+q+W| d 7} | d 7} n£ |  j r|  j t | t ƒ ƒ } x: t | ƒ D] } |  j d j | ƒ qüWn |  j | ƒ } | t d |  j | |	 |  j |  j d | d |  j |	 | ƒ 7} |  j! r·| d |  j" |  j | |  j d | d |  j | ƒ 7} n  |  j rÍ| d 7} n  | r|  j# |  j | |  j d | d |  j |  j | t
 ƒ |  j | ƒ qn  | r4|  j | ƒ n  | |  _$ | d k rv|  j | 7_ | d k r…|  j% |  _ q…n |  j | 7_ d  S(!   s   Output a celli    s   0 TwRÁ   s   %.3f TwR,   i   Rï   Rì   Rð   s   %.2f %.2f %.2f %.2f re %s RF   s   %.2f %.2f m %.2f %.2f l S t   Tt   Rt   Cg       @s   q Rý   R  s   BT 0 Tw %.2F %.2F Td [g      à?g333333Ó?t   (t   )s   %s iè  s   %d(%s) s   ] TJs    ETs   BT %.2f %.2f Td (%s) Tj ETs    QN(&   RÔ   Re   Rñ   R—   RU   R^  R‘   Ra   R½   R¶   t   TrueR   Rr   R�   Rs   R�   R   Ru   Rß   R`   R_   R×   R
   RÕ   RS  RQ  R	   RR  RÚ   t   splitRÖ   RÙ   RZ   R\   RT  RO  RW   R‹   (   R{   Rr   Rs   RU  t   bordert   lnt   alignt   fillRO  Re   R‘   Ra   RÛ   Rò   Rñ   t   dxR>  t   spacet   tt   numtRÞ   t   txt   adjRV  (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   cellË  sœ    	,					 		<		AAIL 		B
 
	E	=	K	t   Jc         C   sF  |  j  | ƒ } g  } |  j d }	 | d k rH |  j |  j |  j } n  | d |  j d |  j }
 | j d d ƒ } t | ƒ } | d k r¯ | | d d k r¯ | d 8} n  d } | r6| d k rÜ d	 } d
 } d } q6d } d | k rû | d 7} n  d | k r| d 7} n  d | k r-| d } q6| } n  d } d } d } d } d } d } x4| | k  r�| | } | d k rR|  j	 d k r°d |  _	 | s°|  j
 d ƒ q°n  | sè|  j | | t | | | | ƒ | d | | ƒ n | j t | | | | ƒ ƒ | d 7} d } | } d } d } | d 7} | r]| d k r]| } q]q]n  | d k rw| } | } | d 7} n  |  j r¤| |  j | t ƒ |  j d 7} n | |	 j | d ƒ 7} | |
 k rƒ| d k rt| | k rë| d 7} n  |  j	 d k rd |  _	 | s|  j
 d ƒ qn  | sT|  j | | t | | | | ƒ | d | | ƒ qC| j t | | | | ƒ ƒ nÏ | d k rä| d k r¯|
 | d |  j | d |  _	 n	 d |  _	 | sä|  j
 t d |  j	 |  j ƒ ƒ qän  | s|  j | | t | | | | ƒ | d | | ƒ n | j t | | | | ƒ ƒ | d } d } | } d } d } | d 7} | r�| d k r�| } q�q]| d 7} q]W|  j	 d k rÂd |  _	 | sÂ|  j
 d ƒ qÂn  | rád | k rá| d 7} n  | s%|  j | | t | | | | ƒ | d | | ƒ |  j |  _ n | j t | | | | ƒ ƒ | S(   s2   Output text with automatic or explicit line breaksRÑ   i    i   g     @�@s   R,   i   s   
t   LTRBt   LRTt   LRRF   R`  R_  iÿÿÿÿs   0 TwRý   Rq  s   %.3f TwRï   (   RÔ   RÕ   Rr   R�   R‘   Ru   RÚ   R  RÖ   Ra   R½   Rp  R   RS  R×   Rß   Rd  R…   R   Re   R‹   (   R{   Rr   Rs   RU  Rf  Rh  Ri  R„   t   retRÑ   t   wmaxRÛ   RE  R   t   b2t   sepRÞ   t   jRD   t   nst   nlR\  t   ls(    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt
   multi_cell(  sÀ     		
	2

		$	2 #	&2

	/c      	   C   s”  |  j  | ƒ } |  j d } |  j |  j |  j } | d |  j d |  j } | j d d ƒ } t | ƒ } d }	 d }
 d } d } d } x½|
 | k  rJ| |
 } | d	 k r\|  j	 | | t
 | | |
 | ƒ d d d d | ƒ |
 d 7}
 d }	 |
 } d } | d k rL|  j |  _ |  j |  j |  j } | d |  j d |  j } n  | d 7} qŽ n  | d
 k rq|
 }	 n  |  j rž| |  j | t ƒ |  j d 7} n | | j | d ƒ 7} | | k r=|	 d k r”|  j |  j k rF|  j |  _ |  j | 7_ |  j |  j |  j } | d |  j d |  j } |
 d 7}
 | d 7} qŽ n  |
 | k r_|
 d 7}
 n  |  j	 | | t
 | | |
 | ƒ d d d d | ƒ n< |  j	 | | t
 | | |	 | ƒ d d d d | ƒ |	 d }
 d }	 |
 } d } | d k r0|  j |  _ |  j |  j |  j } | d |  j d |  j } n  | d 7} qŽ |
 d 7}
 qŽ W|
 | k r�|  j	 | d |  j | t
 | | ƒ d d d d | ƒ n  d S(   s   Output text in flowing modeRÑ   i   g     @�@s   R,   iÿÿÿÿi    i   s   
Rý   N(   RÔ   RÕ   Rr   R�   R‘   Ru   RÚ   R  RÖ   Rp  R   R‹   R×   Rß   Rd  R…   Rñ   (   R{   Rs   RU  RO  RÑ   Rr   Rv  RÛ   RE  Rx  RÞ   Ry  RD   R{  R\  (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   writeš  sp    
2

		$

52
c      	   C   sI  | |  j  k r²| d k rZ | j d ƒ } | sD |  j d | ƒ n  t | | d ƒ } n  | j ƒ  } | d k s~ | d k r� |  j | ƒ }	 nû | d k r® |  j | ƒ }	 nÝ t }
 |  j |  j |  j g } x/ | D]' } y | | ƒ }	 t	 }
 PWqÓ qÓ XqÓ W|
 sId | } t
 |  | ƒ s1|  j d	 | ƒ n  t |  | ƒ | ƒ }	 n  d | } t
 |  | ƒ sv|  j d	 | ƒ n  t |  | ƒ | ƒ }	 t |  j  ƒ d |	 d
 <|	 |  j  | <n |  j  | }	 | d k rü| d k rü|	 d |  j } |	 d |  j } nJ | d k r!| |	 d |	 d } n% | d k rF| |	 d |	 d } n  | d k r¾|  j | |  j k r£|  j r£|  j ƒ  r£|  j } |  j d t	 ƒ | |  _ n  |  j } |  j | 7_ n  | d k rÖ|  j } n  |  j t d | |  j | |  j | |  j |  j | | |  j |	 d
 ƒ ƒ | rE|  j | | | | | ƒ n  d S(   s   Put an image on the pageR,   t   .s7   image file has no extension and no type was specified: i   t   jpgt   jpegt   pngt   _parses   Unsupported image type: RÞ   i    Rr   Rs   RÁ   s&   q %.2f 0 0 %.2f %.2f %.2f cm /I%d Do QN(   RR   t   rfindRf   R   Rm   t	   _parsejpgt	   _parsepngRR  t	   _parsegifRd  R:  t   getattrRÖ   Re   R    Rñ   R—   RU   R^  R‘   R¶   R½   R   Rs   RO  (   R{   R  R‘   Rñ   Rr   Rs   R
  RO  t   post   infot   succeed_parsingt   parsing_functionst   pft   mtd(    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   imageÞ  sf    

,		Mc         C   sC   |  j  |  _ t | t ƒ r0 |  j |  j 7_ n |  j | 7_ d S(   s,   Line Feed; default value is last cell heightN(   R‹   R‘   R�   R   Rñ   RW   (   R{   Rs   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyRg  !  s    c         C   s   |  j  S(   s   Get x position(   R‘   (   R{   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   get_x*  s    c         C   s,   | d k r | |  _  n |  j | |  _  d S(   s   Set x positioni    N(   R‘   Rr   (   R{   R‘   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   set_x.  s    c         C   s   |  j  S(   s   Get y position(   Rñ   (   R{   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   get_y5  s    c         C   s8   |  j  |  _ | d k r$ | |  _ n |  j | |  _ d S(   s   Set y position and reset xi    N(   R‹   R‘   Rñ   Rs   (   R{   Rñ   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   set_y9  s    c         C   s   |  j  | ƒ |  j | ƒ d S(   s   Set x and y positionsN(   R“  R‘  (   R{   R‘   Rñ   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   set_xyA  s    c         C   s  |  j  d k  r |  j ƒ  n  | j ƒ  } | d k rR | d k rI d } qR d } n  t rm |  j j d ƒ } n	 |  j } | d k rª t t j d t j ƒ } | j	 | ƒ nU | d k rÞ t
 | d ƒ � } | j	 | ƒ Wd	 QXn! | d
 k rî | S|  j d | ƒ d	 S(   sã   Output PDF to some destination
        
        By default the PDF is written to sys.stdout. If a name is given, the
        PDF is written to a new file. If dest='S' is given, the PDF data is
        returned as a byte string.i   R,   t   IRë   t   latin1t   DRL   R  NRð   s   Incorrect output destination: (   R•  R—  (   RN   Rº   R  R   RL   t   encodeRˆ  t   syst   stdoutR~  R!   Rf   (   R{   R  t   destRL   Rš  Rì   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   outputF  s&    			c         C   s‡   t  sW |  j r+ t | t ƒ r+ | j d ƒ S|  j rƒ t | t ƒ rƒ | j |  j ƒ Sn, |  j rƒ |  j rƒ | j |  j ƒ j d ƒ S| S(   s7   Check that text input is in the correct format/encodings   utf-8s   latin-1(   R   R×   R�   R®   t   decodeR   R˜  Rd   (   R{   RU  (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyRÔ   i  s    c         C   s;   t  d d ƒ d k r7 d d  l } | j | j d ƒ n  d  S(   Ns   %.1fg      ð?s   1.0iÿÿÿÿRa  (   R   t   localet	   setlocalet
   LC_NUMERIC(   R{   Rž  (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyRH   w  s    c         C   s   t  d S(   Nt   /(   R  (   R{   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   _getfontpath€  s    c      
   C   sª  |  j  } t |  d ƒ r× t |  j t ƒ } t t | ƒ t ƒ } xC t d | d ƒ D]. } |  j | d j | | ƒ |  j | d <qS WxO t d | d ƒ D]7 } |  j | d j |  j t | ƒ ƒ |  j | d <q™ Wn  |  j	 d k rû |  j
 } |  j } n |  j } |  j
 } |  j rd } n d } x·t d | d ƒ D]¢} |  j ƒ  |  j d ƒ |  j d ƒ |  j | d	 } |  j | d
 }	 | | k s�|	 | k r¹|  j t d | |	 ƒ ƒ n  |  j d ƒ |  j ró| |  j k ród }
 xø |  j | D]é } t d | d | d | d | d | d | d ƒ } |
 d | d 7}
 t | d t ƒ rw|
 d |  j | d ƒ d 7}
 qò|  j | d } | d |  j k r¤| } n |	 } |
 t d d d | d | | d |  j ƒ 7}
 qòW|  j |
 d ƒ n  |  j d k r|  j d ƒ n  |  j d t |  j d ƒ d ƒ |  j d ƒ |  j | d } |  j rˆt rp| j d ƒ n | } t j | ƒ } n | } |  j ƒ  |  j d | d  t t | ƒ ƒ d! ƒ |  j | ƒ |  j d ƒ q9Wt |  j ƒ |  j d <|  j d" ƒ |  j d# ƒ d$ } x3 t d | ƒ D]" } | t d d | ƒ d% 7} q%W|  j | d ƒ |  j d& t | ƒ ƒ |  j t d | | ƒ ƒ |  j d! ƒ |  j d ƒ d  S('   NR²   i   t   contentR)   s   /Filter /FlateDecode R,   s   <</Type /Pages   /Parent 1 0 RRo   Rp   s   /MediaBox [0 0 %.2f %.2f]s   /Resources 2 0 Rs	   /Annots [s   %.2f %.2f %.2f %.2fi    i   i   s%   <</Type /Annot /Subtype /Link /Rect [s   ] /Border [0 0 0] i   s   /A <</S /URI /URI s   >>>>s!   /Dest [%d 0 R /XYZ 0 %.2f null]>>t   ]s   1.3sL   /Group <</Type /Group /S /Transparency"                    "/CS /DeviceRGB>>s
   /Contents s    0 R>>t   endobjR–  s   <<s   /Length s   >>s   1 0 objs   <</Type /Pagess   /Kids [s    0 R s   /Count (    RJ   R:  R	   R²   RR  R®   RÙ   RM   R  Rn   Rj   Rk   R£   t   _newobjR½   R   RS   R�   R   t   _textstringRT   t   orientation_changesRe   Rz   RK   R   R˜  t   zlibRÖ   t
   _putstreamRL   RI   (   R{   RE  R³   RÌ   RK   Rj   Rk   t   filterRo   Rp   t   annotst   plRó   RD   Rs   R£  RB   t   kidsRÞ   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt	   _putpagesƒ  sˆ    	,!					
$		,
"	
) c       	   C   s¬
  |  j  } xD |  j D]9 } |  j ƒ  |  j d |  j | d ƒ |  j d ƒ q WxÕ|  j j ƒ  D]Ä\ } } d | k r` | d d k r` |  j ƒ  |  j  |  j | d <t |  j ƒ  | d d ƒ � } | j ƒ  } Wd  QXt	 | d	 ƒ d
 k } | r~d | k r~t
 | d ƒ d k } | r-t	 | d ƒ } n  | r~t
 | | d ƒ d k r~t	 | d | d ƒ t	 | | d d ƒ } q~n  |  j d t t | ƒ ƒ ƒ | r±|  j d ƒ n  |  j d t | d ƒ ƒ d | k rú|  j d t | d ƒ d ƒ n  |  j d ƒ |  j | ƒ |  j d ƒ q` q` Wg  |  j j ƒ  D]% }	 |	 d d |	 d |	 d f ^ q8}
 |
 j ƒ  x8|
 D]0\ } } } |  j  d |  j | d <| d } | d } | d k r5|  j ƒ  |  j d ƒ |  j d | ƒ |  j d ƒ | d k r| d k r|  j d ƒ n  |  j d ƒ |  j d ƒ qt| d k sM| d  k rs|  j ƒ  |  j d ƒ |  j d | ƒ |  j d! | ƒ |  j d" ƒ |  j d# t |  j  d ƒ d$ ƒ |  j d% t |  j  d& ƒ d$ ƒ | d' r#d( | k r|  j d) t | | d( ƒ d$ ƒ q#|  j d ƒ n  |  j d ƒ |  j d ƒ |  j ƒ  | d* } d+ } x@ t d, d- ƒ D]/ } | t | j t | ƒ ƒ p‹d ƒ d. 7} qgW|  j | d/ ƒ |  j d ƒ |  j ƒ  d0 | } x* d[ D]" } | d9 | | d: | f 7} qÓW| d; } | rR| d< 7} | d k r,| d= 7} n  | d. t |  j | d ƒ d$ 7} n  |  j | d ƒ |  j d ƒ qt| d k rd
|  j  d |  j | d <t ƒ  } d\ | d } | d@ } | d =| j | dA | ƒ } t | ƒ } t j | ƒ } | j } |  j ƒ  |  j d ƒ |  j dB ƒ |  j d | dC ƒ |  j dD ƒ |  j dE t |  j  d ƒ dF ƒ |  j dG t |  j  d& ƒ d$ ƒ |  j d ƒ |  j d ƒ |  j ƒ  |  j d ƒ |  j dH ƒ |  j d | dC ƒ |  j dI t |  j  d& ƒ d$ ƒ |  j d% t |  j  dJ ƒ d$ ƒ | d: j d8 ƒ rI|  j dK | d: d8 ƒ n  |  j | | j ƒ |  j dL t |  j  dM ƒ d$ ƒ |  j d ƒ |  j d ƒ |  j ƒ  dN } |  j d t t | ƒ ƒ d ƒ |  j | ƒ |  j d ƒ |  j ƒ  |  j dO ƒ |  j dP ƒ |  j dQ ƒ |  j d ƒ |  j d ƒ |  j ƒ  |  j dR ƒ |  j dS | ƒ xV d] D]N } | d: | } | d4 k r”| dM B} | d^ @} n  |  j d9 | | f ƒ q]W|  j dT t |  j  d& ƒ d$ ƒ |  j d ƒ |  j d ƒ dC } dU g d- d- d& } xN | j ƒ  D]@ \ } } t | dV ?ƒ | | d& <t | dW @ƒ | | d& d <q	WdC j | ƒ } t r~	| j dX ƒ } n  t j | ƒ } |  j ƒ  |  j d t t | ƒ ƒ dC ƒ |  j d ƒ |  j d ƒ |  j | ƒ |  j d ƒ |  j ƒ  |  j d t t | ƒ ƒ ƒ |  j d ƒ |  j d t | ƒ ƒ |  j d ƒ |  j | ƒ |  j d ƒ ~ qtdY | j ƒ  } t |  | ƒ s—
|  j dZ | ƒ n  |  j  | ƒ qtWd  S(_   Ns?   <</Type /Encoding /BaseEncoding /WinAnsiEncoding /Differences [s   ]>>R¥  R
  R	  RK   R   i   iþÿÿÿs   .zR  i    i€   i   R  s
   <</Length s   /Filter /FlateDecodes	   /Length1 s	   /Length2 s    /Length3 0s   >>RÞ   R  RH  s   <</Type /Fonts   /BaseFont /s   /Subtype /Type1R;   R=   s   /Encoding /WinAnsiEncodingt   Type1R  s
   /Subtype /s   /FirstChar 32 /LastChar 255s   /Widths s    0 Rs   /FontDescriptor i   t   encR  s
   /Encoding RÑ   t   [i    i   Rý   R¤  s#   <</Type /FontDescriptor /FontName /R  R  R  R  R  R  R  RÓ   s    /%s %sRÒ   RK  s
    /FontFilet   2t   MPDFAAt   +R  R  s   /Subtype /Type0R,   s   /Encoding /Identity-Hs   /DescendantFonts [s    0 R]s   /ToUnicode s   /Subtype /CIDFontType2s   /CIDSystemInfo i   s   /DW %ds   /CIDToGIDMap i   sY  /CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/CIDSystemInfo
<</Registry (Adobe)
/Ordering (UCS)
/Supplement 0
>> def
/CMapName /Adobe-Identity-UCS def
/CMapType 2 def
1 begincodespacerange
<0000> <FFFF>
endcodespacerange
1 beginbfrange
<0000> <FFFF> <0000>
endbfrange
endcmap
CMapName currentdict /CMap defineresource pop
end
ends   <</Registry (Adobe)s   /Ordering (UCS)s   /Supplement 0s   <</Type /FontDescriptors   /FontName /s   /FontFile2 t    i   iÿ   R–  t   _puts   Unsupported font type: (   s   Ascents   Descents	   CapHeights   Flagss   FontBBoxs   ItalicAngles   StemVs   MissingWidths   MPDFAA+(   s   Ascents   Descents	   CapHeights   Flagss   FontBBoxs   ItalicAngles   StemVs   MissingWidthißÿÿÿ(!   RK   RQ   R¦  R½   RP   t   itemsR!   R¢  RJ  R   RØ   R®   RÖ   Rª  RO   t   sortRÙ   R…   t   chrR   t
   makeSubsetR©  R£   t   codeToGlypht   _putTTfontwidthst   maxUniR  R   R˜  Rm   t   method_existsRf   RŽ  (    R{   t   nfR  R  RŠ  Rì   R   t
   compressedR¿   R‘   t   flistt   idxRe   R
  RÑ   RÛ   RÞ   R%   RA  t   fontnameR  t   ttfontstreamt
   ttfontsizet
   fontstreamR¼  t   toUnit   kdt   vt   cidtogidmapt   cct   glyphRŽ  (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt	   _putfonts×  s8   	

 1";




""
&

-

 

&	
	
""
"""
!


" 
!
c      
   C   s¼  | d r+ t  j j | d ƒ d d } n d  } t | ƒ } | d  k rv d } i  } i  } d } d }	 t }
 d } nB | d } | d } | d	 } | d
 }	 | d }
 | d } d } | d } t | d ƒ } x6t | | ƒ D]%} | d k r­| r­t  j j | ƒ r­yn t	 | d ƒ �Y } i  } | | d <| | d	 <|	 | d
 <|
 | d <| | d <| | d <t
 j | | ƒ Wd  QXWq­t k
 r©t ƒ  j t j k sª‚  qªq­Xn  | d k rË| | k rËqâ n  | d | } | d k rëqâ n  | d k r d } n  d | k s&| d râ | | d k râ | | d k rß| |	 k r©| | | d k rr| j | g  ƒ j | ƒ n$ | | j ƒ  | } |	 | g | | <t }
 t | | <qø|
 rÅ| } | g | | <n | | j | ƒ t }
 n | } | g | | <t }
 | } | }	 qâ qâ Wd } d } t } xÏ t | j ƒ  ƒ D]» \ } } t | ƒ } | | k r©| r©| | k ss| d k  r©| | k r‰| | =n  | | | | | | <| | =n | } | | } | | k rå| d k } | | =| d 8} q0t } q0Wg  } x¦ t | j ƒ  ƒ D]’ \ } } t t | ƒ ƒ d k r[| j d | | t | ƒ d | d f ƒ q| j d | d j g  | D] } t t | ƒ ƒ ^ qtƒ f ƒ qW|  j d d j | ƒ ƒ d  S(   NR  i    s
   .cw127.pkliþÿÿÿiÿÿÿÿi   t   rangeidRÙ   t   prevcidt	   prevwidtht   intervalt   range_intervali€   R  R  iÿ   RÑ   iÿÿ  t   dwi   s	    %s %s %ss    %s [ %s ]
Rý   s   /W [%s]R,   (   R  R  R"  R    R'   RR  t   setRÙ   R  R!   R   R7  R#   R   R8  R9  t
   setdefaultRS  t   popRd  t   sortedR¸  RÖ   R  R®   R%  R½   (   R{   R   R¾  t
   cw127fnameR@  RÏ  t   range_RÓ  RÐ  RÑ  RÒ  t   startcidt   cwlenR  t   cidR&   Rà   t   prevkt   nextkt   previntRe   Ra   t   cwsRr   Rs   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyR½  §  s¬    
!	






%





 	&	+



/Cc         C   s›   d } |  j  r d } n  g  |  j j ƒ  D] } | d d | d f ^ q( } | j ƒ  x> | D]6 \ } } |  j | ƒ | d =d | k r] | d =q] q] Wd  S(   NR,   s   /Filter /FlateDecode i   RÞ   t   datat   smask(   R£   RR   R¸  R¹  t	   _putimage(   R{   R«  R‘   RÞ   RÃ  RŠ  (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt
   _putimages  s    		4
c         C   s‡  d | k rƒ|  j  ƒ  |  j | d <|  j d ƒ |  j d ƒ |  j d t | d ƒ ƒ |  j d t | d ƒ ƒ | d	 d
 k rÈ |  j d t t | d ƒ d d ƒ d t |  j d ƒ d ƒ n5 |  j d | d	 ƒ | d	 d k rý |  j d ƒ n  |  j d t | d ƒ ƒ d | k r<|  j d | d ƒ n  d | k rd|  j d | d d ƒ n  d | k r÷t | d t ƒ r÷d } xS t d t | d ƒ ƒ D]8 } | t | d | ƒ d t | d | ƒ d 7} q£W|  j d | d ƒ n  d  | k r(|  j d! t |  j d ƒ d" ƒ n  |  j d# t t | d ƒ ƒ d ƒ |  j | d ƒ |  j d$ ƒ d  | k râd% t | d ƒ } i | d d 6| d d 6d& d	 6d' d 6| d d 6| d 6| d  d 6} |  j	 | ƒ n  | d	 d
 k rƒ|  j  ƒ  |  j
 rd( pd } |  j
 r0t j
 | d ƒ } n
 | d } |  j d) | d# t t | ƒ ƒ d ƒ |  j | ƒ |  j d$ ƒ qƒn  d  S(*   NRâ  RK   s   <</Type /XObjects   /Subtype /Images   /Width Rr   s   /Height Rs   t   cst   Indexeds!   /ColorSpace [/Indexed /DeviceRGB t   pali   i   Rý   s    0 R]s   /ColorSpace /t
   DeviceCMYKs   /Decode [1 0 1 0 1 0 1 0]s   /BitsPerComponent t   bpcRì   s	   /Filter /t   dps   /DecodeParms <<s   >>t   trnsR,   i    s   /Mask [R¤  Rã  s   /SMask s    0 Rs   /Length R¥  s5   /Predictor 15 /Colors 1 /BitsPerComponent 8 /Columns t
   DeviceGrayi   s   /Filter /FlateDecode s   <<(   R¦  RK   R½   R®   RÖ   R�   R;  RÙ   Rª  Rä  R£   R©  (   R{   RŠ  Rì  RÞ   Rë  Rã  R«  Rè  (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyRä    sP    
E 6%%G
	
)c         C   s~   g  |  j  j ƒ  D] } | d | d f ^ q } | j ƒ  x= | D]5 \ } } |  j d t | ƒ d t | ƒ d ƒ qA Wd  S(   NRÞ   RK   s   /IRý   s    0 R(   RR   t   valuesR¹  R½   R®   (   R{   R‘   RÞ   RÃ  RK   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   _putxobjectdictE  s    0
c         C   sÉ   |  j  d ƒ |  j  d ƒ g  |  j j ƒ  D] } | d | d f ^ q* } | j ƒ  x= | D]5 \ } } |  j  d t | ƒ d t | ƒ d ƒ q[ W|  j  d ƒ |  j  d	 ƒ |  j ƒ  |  j  d ƒ d  S(
   Ns-   /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]s   /Font <<RÞ   RK   s   /FRý   s    0 Rs   >>s   /XObject <<(   R½   RO   Rî  R¹  R®   Rï  (   R{   R‘   Rì   RÃ  RK   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   _putresourcedictK  s    0
-
c         C   sl   |  j  ƒ  |  j ƒ  t |  j ƒ |  j d <|  j d ƒ |  j d ƒ |  j ƒ  |  j d ƒ |  j d ƒ d  S(   Ni   s   2 0 objs   <<s   >>R¥  (   RÎ  Rå  RÖ   RL   RI   R½   Rð  (   R{   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   _putresourcesW  s    


c         C   s>  |  j  d |  j d t d ƒ ƒ t |  d ƒ rQ |  j  d |  j |  j ƒ ƒ n  t |  d ƒ r€ |  j  d |  j |  j ƒ ƒ n  t |  d ƒ r¯ |  j  d	 |  j |  j ƒ ƒ n  t |  d
 ƒ rÞ |  j  d |  j |  j ƒ ƒ n  t |  d ƒ r|  j  d |  j |  j ƒ ƒ n  |  j  d |  j d t	 j
 ƒ  j d ƒ ƒ ƒ d  S(   Ns
   /Producer s   PyFPDF s    http://pyfpdf.googlecode.com/R¤   s   /Title R¦   s	   /Subject R¨   s   /Author Rª   s
   /Keywords R¬   s	   /Creator s   /CreationDate s   D:s   %Y%m%d%H%M%S(   R½   R§  t   FPDF_VERSIONR:  R¤   R¦   R¨   Rª   R¬   R   t   nowt   strftime(   R{   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   _putinfob  s    "     c         C   s
  |  j  d ƒ |  j  d ƒ |  j d k r9 |  j  d ƒ np |  j d k rX |  j  d ƒ nQ |  j d k rw |  j  d ƒ n2 t |  j t ƒ s© |  j  t d	 |  j d
 ƒ ƒ n  |  j d k rÈ |  j  d ƒ n> |  j d k rç |  j  d ƒ n |  j d k r|  j  d ƒ n  d  S(   Ns   /Type /Catalogs   /Pages 1 0 RRš   s   /OpenAction [3 0 R /Fit]RG   s   /OpenAction [3 0 R /FitH null]R›   s$   /OpenAction [3 0 R /XYZ null null 1]s%   /OpenAction [3 0 R /XYZ null null %s]id   R�   s   /PageLayout /SinglePageR™   s   /PageLayout /OneColumnRž   s   /PageLayout /TwoColumnLeft(   R½   RŸ   R�   R   R   R    (   R{   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   _putcatalogp  s      c         C   s   |  j  d |  j ƒ d  S(   Ns   %PDF-(   R½   Rz   (   R{   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt
   _putheader‚  s    c         C   sb   |  j  d t |  j d ƒ ƒ |  j  d t |  j ƒ d ƒ |  j  d t |  j d ƒ d ƒ d  S(   Ns   /Size i   s   /Root s    0 Rs   /Info (   R½   R®   RK   (   R{   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   _puttrailer…  s    c         C   s~  |  j  ƒ  |  j ƒ  |  j ƒ  |  j ƒ  |  j d ƒ |  j ƒ  |  j d ƒ |  j d ƒ |  j ƒ  |  j d ƒ |  j ƒ  |  j d ƒ |  j d ƒ t |  j ƒ } |  j d ƒ |  j d t	 |  j
 d ƒ ƒ |  j d ƒ x; t d |  j
 d ƒ D]# } |  j t d |  j | ƒ ƒ qò W|  j d	 ƒ |  j d ƒ |  j ƒ  |  j d ƒ |  j d
 ƒ |  j | ƒ |  j d ƒ d |  _ d  S(   Ns   <<s   >>R¥  t   xrefs   0 i   s   0000000000 65535 f s   %010d 00000 n t   trailert	   startxrefs   %%EOFi   (   R÷  R¯  Rñ  R¦  R½   Rõ  Rö  RÖ   RL   R®   RK   RÙ   R   RI   Rø  RN   (   R{   t   oRÞ   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyR¹   Š  s6    






!
c         C   s¨  |  j  d 7_  i d d 6|  j |  j  <d |  _ |  j |  _ |  j |  _ d |  _ d |  _ | sv| r‰ |  j	 | |  j
 ƒ \ |  _ |  _ n |  j |  _ |  j |  _ |  j |  j
 |  _ |  j |  j
 |  _ | sÙ |  j } n | d j ƒ  } | d k r|  j |  _ |  j |  _ n |  j |  _ |  j |  _ |  j |  j
 |  _ |  j |  j
 |  _ | |  _ |  j |  j |  _ | |  _ n  |  j |  j |  j  d <|  j |  j |  j  d	 <d  S(
   Ni   R,   R£  i   id   i    R)   Ro   Rp   (   RJ   RM   RN   R‹   R‘   RŒ   Rñ   RX   R[   Rg   Re   Rh   Ri   Rj   Rk   Rl   R&   Rn   R  Ro   Rp   Rr   Rs   Rq   R–   R—   (   R{   R|   R~   RÁ   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyR¼   «  s:    			$	c         C   s   d |  _  d  S(   Ni   (   RN   (   R{   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyR¸   Ñ  s    c         C   sF   |  j  d 7_  t |  j ƒ |  j |  j  <|  j t |  j  ƒ d ƒ d  S(   Ni   s    0 obj(   RK   RÖ   RL   RI   R½   R®   (   R{   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyR¦  Õ  s    c         C   s�   |  j  d } |  j  d } |  j | t ƒ |  j | j d ƒ } t d | |  j |  j | | d |  j |  j | |  j | d |  j	 ƒ S(   NR  R  Rý   s   %.2f %.2f %.2f %.2f re fg     @�@(
   RÕ   Rß   Rd  Ra   t   countR   Re   Rs   RÚ   RZ   (   R{   R‘   Rñ   RU  R  R  Rr   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyRT  Û  s    &c         C   sm   | d k rX | j  d ƒ s* | j  d ƒ rE t t | ƒ j ƒ  ƒ } n t | d ƒ } | S|  j d | ƒ d S(   s   Load external fileR�  s   http://s   https://R   s$   Unknown resource loading reason "%s"N(   t
   startswithR   R   RJ  R!   Rf   (   R{   t   reasonR%   Rì   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   load_resourceâ  s    c         C   sU  d  } y´|  j d | ƒ } x›t r¸t j d | j d ƒ ƒ \ } } | d k s] | d k  rl t d ƒ ‚ q | d k r‡ t d ƒ ‚ q | d	 k sµ| d
 k r« | d k sµ| d k rÆ | d k rÆ q t j d | j d ƒ ƒ \ } | d k r| j | d ƒ n d } | d k r!| d k si| d k r9| d k si| d k rQ| d k si| d k r | d k r t j d | ƒ \ } } }	 }
 |
 d k r™d n |
 d k r«d n d } Pq q WWnD t k
 r | rÝ| j	 ƒ  n  |  j
 d | t t ƒ  ƒ f ƒ n X| � | j d ƒ | j ƒ  } Wd  QXi |	 d 6| d  6| d! 6| d" 6d# d$ 6| d% 6S(&   NR�  t   BBi   iÿ   iÀ   s   No JPEG marker foundiÚ   s   No JPEG SOF marker foundiÈ   iÐ   iÙ   ið   iý   s   >HR,   iÃ   iÅ   iÇ   iÉ   iË   iÍ   iÏ   s   >BHHBi   t	   DeviceRGBi   Ré  Rí  s.   Missing or incorrect image file: %s. error: %si    Rr   Rs   Ræ  Rê  t	   DCTDecodeRì   Râ  (   R    R   Rd  t   structt   unpackRJ  t   SyntaxErrort   unpack_fromt	   ExceptionRº   Rf   R®   R   t   seek(   R{   R%   Rì   t
   markerHight	   markerLowt   dataSizeRâ  Rê  t   heightRà   t   layerst   colspace(    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyR…  î  s<    	!%*$c         C   sæ   t  d  k r |  j d ƒ n  y t  j | ƒ } Wn1 t k
 rb |  j d | t t ƒ  ƒ f ƒ n€ Xt j d t	 d d ƒ � } | j
 } Wd  QXd | j k r¹ | j | d | j d ƒn | j | ƒ |  j | ƒ } t j | ƒ | S(   Ns   PIL is required for GIF supports.   Missing or incorrect image file: %s. error: %st   deletet   suffixs   .pngt   transparency(   R   R    Rf   R!   R  R®   R   t   tempfilet   NamedTemporaryFileRR  R  RŠ  t   saveR†  R  t   unlink(   R{   R%   t   imRì   t   tmpRŠ  (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyR‡    s    $c         C   sâ  |  j  d | ƒ } | j d ƒ j d ƒ } dB } t sH | j d ƒ } n  | | k rh |  j d	 | ƒ n  | j d
 ƒ | j d
 ƒ j d ƒ } | d k r­ |  j d | ƒ n  |  j | ƒ } |  j | ƒ } t | j d ƒ ƒ } | d k r |  j d | ƒ n  t | j d ƒ ƒ }	 |	 d k s-|	 d
 k r6d }
 nG |	 d k sN|	 d k rWd }
 n& |	 d k rld }
 n |  j d | ƒ t | j d ƒ ƒ d k r¬|  j d | ƒ n  t | j d ƒ ƒ d k rÛ|  j d | ƒ n  t | j d ƒ ƒ d k r
|  j d | ƒ n  | j d
 ƒ d } |
 d k r6| d 7} n
 | d 7} | d t | ƒ d t | ƒ d 7} d } d } t r�t ƒ  n t ƒ  } d } x‹| d  k r|  j | ƒ } | j d
 ƒ j d ƒ } | d  k rñ| j | ƒ } | j d
 ƒ q“| d! k rÊ| j | ƒ } |	 d k r6t t
 | d d ƒ ƒ g } n„ |	 d k rŠt t
 | d d ƒ ƒ t t
 | d d ƒ ƒ t t
 | d" d ƒ ƒ g } n0 | j d# j d ƒ ƒ } | d$ k rº| g } n  | j d
 ƒ q“| d% k rù| | j | ƒ 7} | j d
 ƒ q“| d& k r	Pq“| j | d
 ƒ q“W|
 d k rE| rE|  j d' | ƒ n  | j ƒ  i | d( 6| d) 6|
 d* 6| d+ 6d, d- 6| d. 6| d/ 6| d0 6} |	 d
 k rÔt j | ƒ } t d ƒ } t d ƒ } |	 d
 k r°d | } x¸t | ƒ D]Æ } d | | } | t | | ƒ 7} | t | | ƒ 7} t
 | | d | ƒ } t j d1 j d2 ƒ d3 t j ƒ} t j d4 j d2 ƒ d3 t j ƒ} | | j d5 „  | ƒ 7} | | j d6 „  | ƒ 7} qãWná d
 | } xÔ t | ƒ D]Æ } d | | } | t | | ƒ 7} | t | | ƒ 7} t
 | | d | ƒ } t j d7 j d2 ƒ d3 t j ƒ} t j d8 j d2 ƒ d3 t j ƒ} | | j d9 „  | ƒ 7} | | j d: „  | ƒ 7} qÇW~ t j | ƒ } t j | ƒ | d; <|  j d< k  rÔd< |  _ qÔn  | | d= <| S(C   NR�  i   R–  s   ‰t   PNGs   s   
s   s   Not a PNG file: i   t   IHDRs   Incorrect PNG file: i   s   16-bit depth not supported: i    Rí  i   i   R  i   Rç  s   Unknown color type: s   Unknown compression method: s   Unknown filter method: s   Interlacing not supported: s   /Predictor 15 /Colors t   3t   1s    /BitsPerComponent s
    /Columns R,   t   PLTEt   tRNSi   R¶  iÿÿÿÿt   IDATt   IENDs   Missing palette in Rr   Rs   Ræ  Rê  t   FlateDecodeRì   Rë  Rè  Rì  s   (.).t   asciiR*  s   .(.)c         S   s   |  j  d ƒ S(   Ni   (   t   group(   t   m(    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   <lambda>ƒ  s    c         S   s   |  j  d ƒ S(   Ni   (   R#  (   R$  (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyR%  „  s    s   (...).s   ...(.)c         S   s   |  j  d ƒ S(   Ni   (   R#  (   R$  (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyR%  �  s    c         S   s   |  j  d ƒ S(   Ni   (   R#  (   R$  (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyR%  �  s    Rã  s   1.4Râ  s   ‰PNGs   ‰PNGs   ‰PNG
s   ‰PNG
s   ‰PNG

(   R   RJ  R�  R   Rf   t	   _freadintRØ   R®   t   bytesR    R   t   findR˜  Rº   R©  t
   decompressR   RÙ   R/  RI  t   DOTALLR0  R£   Rz   (   R{   R%   Rì   t   magict	   signaturet   chunkRr   Rs   Rê  t   ctR  Rë  Rè  Rì  Râ  RK   R
  Rl  R‰  RŠ  t   colort   alphat   lengthRÞ   Ræ   t   re_ct   re_a(    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyR†  '  sÄ     			
&H
>
!! 
!!
c         C   s0   y! t  j d | j d ƒ ƒ d SWn d  SXd  S(   Ns   >Ii   i    (   R  R  RJ  R    (   R{   Rì   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyR&  ™  s    !c         C   s   d |  j  | ƒ d S(   NRb  Rc  (   RQ  (   R{   RÛ   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyR§     s    c         C   s4   | j  d d ƒ j  d d ƒ j  d d ƒ j  d d ƒ S(	   Ns   \s   \\Rc  s   \)Rb  s   \(s   s   \r(   R  (   R{   RÛ   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyRQ  ¤  s    c         C   s+   |  j  d ƒ |  j  | ƒ |  j  d ƒ d  S(   Nt   streamt	   endstream(   R½   (   R{   RÛ   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyRª  ¨  s    c         C   s´   t  r' t | t ƒ r' | j d ƒ } nF t  rO t | t ƒ rO | j d ƒ } n t | t ƒ sm t | ƒ } n  |  j d k r� |  j	 |  j
 d c | d 7<n |  j | d 7_ d  S(   NR–  i   R£  s   
(   R   R�   R'  R�  R   R˜  R   R®   RN   RM   RJ   RL   (   R{   RÛ   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyR½   ­  s    !g      ð?g      $@c         C   sú  | d } | } i d d 6d d 6d d 6d d	 6d
 d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6} |  j  d ƒ | }	 t |	 ƒ d d k r  d |	 }	 n  d |	 j ƒ  d }	 x?t d t |	 ƒ d ƒ D]%}
 |	 |
 } |	 |
 d } | | j ƒ  k rt d | ƒ ‚ n  | | j ƒ  k r5t d | ƒ ‚ n  d  } x? t d t | | ƒ ƒ D]$ } | | | | | | | 7} qUWxr t d t | ƒ ƒ D][ } | | d! k r²| } n | } | d d k rä|  j | | | | d" ƒ n  | | 7} q“WqÍ Wd# S($   s/   Barcode I2of5 (numeric), adds a 0 if odd lenghtg      @t   nnwwnt   0t   wnnnwR  t   nwnnwR³  t   wwnnnR  t   nnwnwt   4t   wnwnnt   5t   nwwnnt   6t   nnnwwt   7t   wnnwnt   8t   nwnwnt   9t   nnt   At   wnt   Zi    i   t   AAt   ZAi   s   Char "%s" invalid for I25: R,   RK   Rë   N(   RÏ   RÖ   Rm   RÙ   t   keysRƒ   Ró   (   R{   RU  R‘   Rñ   Rr   Rs   t   narrowt   widet   bar_chart   codeRÞ   t   char_bart
   char_spacet   seqRÛ   t   barRv   (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   interleaved2of5»  s6    

 "	g      ø?g      @c         C   s  i | d 6| d d 6} i, d d 6d d 6d d	 6d
 d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d  d! 6d" d# 6d$ d% 6d& d' 6d( d) 6d* d+ 6d, d- 6d. d/ 6d0 d1 6d2 d3 6d4 d5 6d6 d7 6d8 d9 6d: d; 6d< d= 6d> d? 6d@ dA 6dB dC 6dD dE 6dF dG 6dH dI 6dJ dK 6dL dM 6dN dO 6dP dQ 6dR dS 6dT dU 6dV dW 6dX dY 6dZ d[ 6} |  j  d\ ƒ x  | j ƒ  D]’ } | | k r‘t d] | ƒ ‚ n  x\ t | | ƒ D]J \ }	 }
 |	 d^ d\ k rÞ|  j | | | |
 | d# ƒ n  | | |
 7} q¢W| | d 7} qlWd_ S(`   s   Barcode 3of9Rr   g      @RK   t	   nnnwwnwnnR7  t	   wnnwnnnnwR  t	   nnwwnnnnwR³  t	   wnwwnnnnnR  t	   nnnwwnnnwR<  t	   wnnwwnnnnR>  t	   nnwwwnnnnR@  t	   nnnwnnwnwRB  t	   wnnwnnwnnRD  t	   nnwwnnwnnRF  t	   wnnnnwnnwRH  t	   nnwnnwnnwRï   t	   wnwnnwnnnRa  t	   nnnnwwnnwR—  t	   wnnnwwnnnt   Et	   nnwnwwnnnRë   t	   nnnnnwwnwt   Gt	   wnnnnwwnnt   Ht	   nnwnnwwnnR•  t	   nnnnwwwnnRq  t	   wnnnnnnwwt   Kt	   nnwnnnnwwRF   t	   wnwnnnnwnt   Mt	   nnnnwnnwwt   Nt	   wnnnwnnwnt   Ot	   nnwnwnnwnR)   t	   nnnnnnwwwRX  t	   wnnnnnwwnR`  t	   nnwnnnwwnRð   t	   nnnnwnwwnR_  t	   wwnnnnnnwR»   t	   nwwnnnnnwt   Vt	   wwwnnnnnnt   Wt	   nwnnwnnnwt   Xt	   wwnnwnnnnt   Yt	   nwwnwnnnnRJ  t	   nwnnnnwnwt   -t	   wwnnnnwnnR  t	   nwwnnnwnnRý   t	   nwnnwnwnnt   *t	   nwnwnwnnnt   $t	   nwnwnnnwnR¡  t	   nwnnnwnwnRµ  t	   nnnwnwnwnt   %i    s   Invalid char "%s" for Code39i   N(   RÏ   R  Rƒ   t	   enumerateRó   (   R{   RU  R‘   Rñ   Rr   Rs   t   dimt   charsR\  RÞ   RD  (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   code39ì  s4     N(\   t   __name__t
   __module__t   __doc__R€   t   staticmethodRg   RŠ   Rt   R’   R“   R”   Rw   Rx   Ry   R¥   R§   R©   R«   R­   R±   R´   Rf   R!   Rº   RR  R¶   R¿   R·   RË   RÎ   RÏ   RÐ   Rß   Rá   Ræ   Ré   Rê   Ró   Rü   RF  R¾   RL  RÀ   RN  RP  RO  RW  R    R]  R^  Rp  R}  R~  R�  Rg  R�  R‘  R’  R“  R”  Rœ  RÔ   RH   R¢  R¯  RÎ  R½  Rå  Rä  Rï  Rð  Rñ  Rõ  Rö  R÷  Rø  R¹   R¼   R¸   R¦  RT  R   R…  R‡  R†  R&  R§  RQ  Rª  R½   RV  R•  (    (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyR(   9   sÆ   X	
													@				
	
$r2						!\qCB					#					T	Ð	d		.								!	&					$		r					0(   g…ëQ¸OŠ@g33333š’@(   g
×£p=š‚@g…ëQ¸OŠ@(   g×£p=
Oz@g
×£p=š‚@(   id  i  (   id  ið  (2   t
   __future__R    R   R   t	   functoolsR   Rô   R8  R  R™  R©  R  R/  R  t   ttfontsR   RO   R   t   phpR   R   R   R	   R
   t   py3kR   R   R   R   R   R   R   R   R   R   Rò  R  R  t   dirnamet   __file__R  R!  R    R#  R   R‚   R   R'   t   objectR(   (    (    (    s&   /var/www/ficnx/bin/pyfpdf/fpdf/fpdf.pyt   <module>   s.   T(F!
		
