ó
ÄCõRc        K   @  sí  d  Z  d d l m Z 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 e j d d k r¢ d d l m Z n d d l m Z d d l m Z d d	 l m Z m Z m Z m Z m Z y e Wn! e k
 rd d
 l m Z n Xd d l Z d d l m Z m Z m  Z  d d l! m" Z" d d l# m$ Z$ m% Z% m& Z& m' Z' d d l( m) Z) d d l* m+ Z+ m, Z, m- Z- m. Z. m/ Z/ m0 Z0 d d l1 m2 Z2 d d l3 m4 Z4 d d l5 m6 Z6 m7 Z7 d d l8 m9 Z9 d d l: j; Z; d d l< j= Z= d d l> m? Z? m@ Z@ mA ZA mB ZB mC ZC mD ZD d d lE mF ZF d d lG mH ZH mI ZI mJ ZJ mK ZK d d lL mM ZM d d l mN ZN d d „ ZO e jP d ƒ ZQ d „  ZR d „  ZS d eT f d „  ƒ  YZU d  eT f d! „  ƒ  YZV d" eT f d# „  ƒ  YZW eX d$ d% d& d' d( d) d* d+ d, d- d. d/ d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d: d; d< d= d> d? d@ dA dB dC dD dE dF dG dH dI dJ dK dL dM dN dO dP dQ dR dS dT dU dV dW dX dY dZ d[ d\ d] d^ d_ d` da db dc dd de df dg dh di dj dk dl dm ƒ %ZY e+ eX g  eY jZ ƒ  D] \ Z[ Z\ e[ eW e\ ƒ f ^ qûƒ �  Z] dn „  Z^ e^ e] __ do eT f dp „  ƒ  YZ` dq eT f dr „  ƒ  YZa ds e$ f dt „  ƒ  YZb du e% f dv „  ƒ  YZc dw „  Zd dx „  Ze dy eT f dz „  ƒ  YZf d{ e' f d| „  ƒ  YZg d} e& f d~ „  ƒ  YZh eh Zi d S(   s@   
A PDF matplotlib backend
Author: Jouni K Seppänen <jks@iki.fi>
iÿÿÿÿ(   t   divisiont   print_functionNi    i   (   t   BytesIO(   t   StringIO(   t   datetime(   t   ceilt   cost   floort   pit   sin(   t   Set(   t   __version__t   rcParamst   get_data_path(   t   Gcf(   t   RendererBaset   GraphicsContextBaset   FigureManagerBaset   FigureCanvasBase(   t   MixedModeRenderer(   t   Buncht   is_string_liket   reverse_dictt   get_realpath_and_statt   is_writable_file_liket   maxdict(   t
   quad2cubic(   t   Figure(   t   findfontt   is_opentype_cff_font(   t   AFM(   t   FT2Fontt   FIXED_WIDTHt   ITALICt   LOAD_NO_SCALEt   LOAD_NO_HINTINGt   KERNING_UNFITTED(   t   MathTextParser(   t   Affine2Dt   Bboxt   BboxBaset   TransformedPath(   t   Path(   t   ttconviK   c         C  s¬   d } d } g  } xp t  |  ƒ D]b \ } } t | ƒ } | | | k  rX | | d 7} q | j d j |  | | !ƒ ƒ | } | } q W| j d j |  | ƒ ƒ d j | ƒ S(   s    Make one string from sequence of strings, with whitespace
    in between. The whitespace is chosen to form lines of at most
    linelen characters, if possible.i    i   t    s   
(   t	   enumeratet   lent   appendt   join(   t   stringst   linelent   currpost   lastit   resultt   it   st   length(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   filld   s    
s   ([\\()\r\n])c         C  sS   |  j  d ƒ } | d k r# d | S| d k r3 d S| d k rC d St sO t ‚ d  S(   Ni    s   \()s   \s   
s   \ns   s   \r(   t   groupt   Falset   AssertionError(   t   matcht   m(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   _string_escape}   s       c         C  s  t  |  d ƒ r |  j ƒ  St |  t t j f ƒ rx t j |  ƒ sO t d ƒ ‚ n  d |  j d ƒ } | j	 d ƒ j	 d ƒ St |  t
 ƒ r• d d g |  St |  t t t j f ƒ rÁ d	 |  j d ƒ St |  t ƒ r!y |  j d
 ƒ } t | ƒ SWqt k
 rt j |  j d ƒ } t | ƒ SXnút |  t ƒ rHd t j t |  ƒ d St |  t ƒ r½d g } | j g  |  j ƒ  D], \ } } t | ƒ j ƒ  d t | ƒ ^ qsƒ | j d ƒ t | ƒ St |  t t f ƒ rd g } | j g  |  D] } t | ƒ ^ qèƒ | j d ƒ t | ƒ S|  d k r(d St |  t ƒ rÐ|  j  d ƒ } t! j" r[t! j# } n	 t! j$ } | d k r}| d 7} nI | d k  rª| d | d | d f 7} n | d | d | d f 7} t | ƒ St |  t% ƒ rt g  |  j& D] } t | ƒ ^ qìƒ St' d t( |  ƒ ƒ ‚ d S(   s!   Map Python objects to PDF syntax.t   pdfReprs%   Can only output finite numbers in PDFs   %.10ft   asciit   0t   .t   falset   trues   %dt   ASCIIs   UTF-16BEt   (t   )s   <<R,   s   >>t   [t   ]t   nulls   D:%Y%m%d%H%M%Si    t   Zs   +%02d'%02d'i  s   -%02d'%02d's/   Don't know a PDF representation for %s objects.N()   t   hasattrR@   t
   isinstancet   floatt   npt   floatingt   isfinitet
   ValueErrort   encodet   rstript   boolt   intt   longt   integert   unicodet   UnicodeEncodeErrort   codecst   BOM_UTF16_BEt   bytest   _string_escape_regext   subR?   t   dictt   extendt	   iteritemst   NameR/   R9   t   listt   tuplet   NoneR   t   strftimet   timet   daylightt   altzonet   timezoneR(   t   boundst	   TypeErrort   type(   t   objt   rR7   t   keyt   valt   z(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR@   „   s`    
		=
	&
	 	  !
&t	   Referencec           B  s2   e  Z d  Z d „  Z d „  Z d „  Z d „  Z RS(   sP   PDF reference object.
    Use PdfFile.reserveObject() to create References.
    c         C  s   | |  _  d  S(   N(   t   id(   t   selfRv   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   __init__Û   s    c         C  s   d |  j  S(   Ns   <Reference %d>(   Rv   (   Rw   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   __repr__Þ   s    c         C  s   d |  j  j d ƒ S(   Ns   %d 0 RRA   (   Rv   RT   (   Rw   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR@   á   s    c         C  sA   | j  } | d |  j j d ƒ ƒ | t | ƒ ƒ | d ƒ d  S(   Ns	   %d 0 obj
RA   s   
endobj
(   t   writeRv   RT   R@   (   Rw   t   contentst   fileRz   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRz   ä   s    	(   t   __name__t
   __module__t   __doc__Rx   Ry   R@   Rz   (    (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRu   Ö   s
   			Rd   c           B  sV   e  Z d  Z d Z e j d ƒ Z d „  Z d „  Z d „  Z	 e
 d „  ƒ Z d „  Z RS(	   s   PDF name object.t   names   [^!-~]c         C  sg   t  | t ƒ r | j |  _ nE t  | t ƒ r? | j d ƒ } n  |  j j t j | ƒ j d ƒ |  _ d  S(   NRA   (	   RN   Rd   R€   R^   t   decodet   _regexR`   t   hexifyRT   (   Rw   R€   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRx   ï   s
    c         C  s   d |  j  S(   Ns	   <Name %s>(   R€   (   Rw   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRy   ÷   s    c         C  s   d t  |  j ƒ S(   Nt   /(   RZ   R€   (   Rw   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   __str__ú   s    c         C  s   d t  |  j ƒ  ƒ S(   Ns   #%02x(   t   ordR:   (   R=   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRƒ   ý   s    c         C  s   d |  j  S(   NR„   (   R€   (   Rw   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR@     s    (   s   name(   R}   R~   R   t	   __slots__t   ret   compileR‚   Rx   Ry   R…   t   staticmethodRƒ   R@   (    (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRd   ê   s   			t   Operatorc           B  s/   e  Z d  Z d Z d „  Z d „  Z d „  Z RS(   s   PDF operator object.t   opc         C  s   | |  _  d  S(   N(   RŒ   (   Rw   RŒ   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRx     s    c         C  s   d |  j  S(   Ns   <Operator %s>(   RŒ   (   Rw   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRy     s    c         C  s   |  j  S(   N(   RŒ   (   Rw   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR@     s    (   s   op(   R}   R~   R   R‡   Rx   Ry   R@   (    (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR‹     s
   		t   close_fill_stroket   bt   fill_stroket   BR9   t   ft	   closepatht   ht   close_strokeR7   t   stroket   St   endpatht   nt
   begin_textt   BTt   end_textt   ETt   curvetot   ct	   rectangleRˆ   t   linetot   lt   movetoR>   t   concat_matrixt   cmt   use_xobjectt   Dot   setgray_stroket   Gt   setgray_nonstroket   gt   setrgb_stroket   RGt   setrgb_nonstroket   rgt   setcolorspace_stroket   CSt   setcolorspace_nonstroket   cst   setcolor_stroket   SCNt   setcolor_nonstroket   scnt   setdasht   dt   setlinejoint   jt
   setlinecapt   Jt	   setgstatet   gst   gsavet   qt   grestoret   Qt   textpost   Tdt
   selectfontt   Tft
   textmatrixt   Tmt   showt   Tjt   showkernt   TJt   setlinewidtht   wt   clipt   Wt   shadingt   shc         C  sR   | r: |  r# | r t  j St  j SqN | r0 t  j St  j Sn | rG t  j St  j Sd S(   sØ   Return the PDF operator to paint a path in the following way:
    closep:  close the path before painting
    fillp:   fill the path with the fill color
    strokep: stroke the outline of the path with the line colorN(   t   OpR�   R”   R�   R•   R9   R—   (   t   closept   fillpt   strokep(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   _paint_path%  s    

t   Streamc           B  sD   e  Z d  Z d Z d d „ Z d	 „  Z d
 „  Z d „  Z d „  Z	 RS(   s¦   PDF stream object.

    This has no pdfRepr method. Instead, call begin(), then output the
    contents of the stream by calling write(), and finally call end().
    Rv   R.   t   pdfFileR|   t   compressobjt   extrat   posc         C  sÈ   | |  _  | |  _ | |  _ | j |  _ d |  _ | d k rK t ƒ  |  _ n	 | |  _ |  j j	 |  j  ƒ t
 d rŠ t j t
 d ƒ |  _ n  |  j d k r¨ t ƒ  |  _ n |  j ƒ  |  j j ƒ  |  _ d S(   sï   id: object id of stream; len: an unused Reference object for the
        length of the stream, or None (to use a memory buffer); file:
        a PdfFile; extra: a dictionary of extra key-value pairs to
        include in the stream header s   pdf.compressionN(   Rv   R.   RÙ   t   fhR|   Rg   RÚ   Ra   RÛ   t
   recordXrefR   t   zlibR   t   _writeHeadert   tellRÜ   (   Rw   Rv   R.   R|   RÛ   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRx   D  s    				 	

c         C  sw   |  j  j } | d |  j j d ƒ ƒ |  j } |  j | d <t d rY t d ƒ | d <n  | t | ƒ ƒ | d ƒ d  S(   Ns	   %d 0 obj
RA   t   Lengths   pdf.compressiont   FlateDecodet   Filters   
stream
(	   R|   Rz   Rv   RT   RÛ   R.   R   Rd   R@   (   Rw   Rz   Ra   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRà   Z  s    	
c         C  s³   |  j  ƒ  |  j d k rs |  j j ƒ  } t | ƒ |  _ |  j j |  _ |  j ƒ  |  j j | ƒ |  j j d ƒ n< |  j j	 ƒ  |  j
 } |  j j d ƒ |  j j |  j | ƒ d S(   s   Finalize stream.s   
endstream
endobj
N(   t   _flushR.   Rg   R|   t   getvalueRÙ   RÝ   Rà   Rz   Rá   RÜ   t   writeObject(   Rw   R{   R8   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   ende  s    

c         C  sH   |  j  d k r" |  j j | ƒ n" |  j  j | ƒ } |  j j | ƒ d S(   s   Write some data on the stream.N(   RÚ   Rg   R|   Rz   t   compress(   Rw   t   datat
   compressed(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRz   u  s    c         C  s>   |  j  d k	 r: |  j  j ƒ  } |  j j | ƒ d |  _  n  d S(   s   Flush the compression object.N(   RÚ   Rg   t   flushR|   Rz   (   Rw   Rë   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRå   ~  s    (   s   ids   lens   pdfFiles   files   compressobjs   extras   posN(
   R}   R~   R   R‡   Rg   Rx   Rà   Rè   Rz   Rå   (    (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRØ   <  s   				t   PdfFilec           B  ss  e  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z e d „ Z	 d „  Z
 d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d d d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z e  e e e d  „ ƒ Z! e" e d! „ Z# d" d# „ Z$ d$ „  Z% d% „  Z& d& „  Z' d' „  Z( d( „  Z) RS()   s   PDF file object.c         C  s  d |  _  d d d g g |  _ t |  _ d  |  _ d |  _ t | ƒ rW t | d ƒ } nc t	 | ƒ r® y | j
 ƒ  |  _ Wn# t k
 r› t ƒ  } | |  _ qº X| } t |  _ n t d ƒ ‚ t j j t d d d	 ƒ |  _ | |  _ d  |  _ | j d
 ƒ | j d ƒ |  j d ƒ |  _ |  j d ƒ |  _ g  |  _ |  j d ƒ |  _ |  j d ƒ |  _ |  j d ƒ |  _ |  j d ƒ |  _ |  j d ƒ |  _ |  j d ƒ |  _  i t! d ƒ d 6|  j d 6} |  j" |  j | ƒ d } i d t# d 6d | d 6t$ j% ƒ  d 6|  _& i  |  _' d |  _( i  |  _) i  |  _* i  |  _+ i  |  _, d |  _- i  |  _. d |  _/ g  |  _0 i  |  _1 d |  _2 i  |  _3 i  |  _4 g  |  _5 g  d j6 ƒ  D] } t! | ƒ ^ q”} i |  j d 6|  j d 6|  j d 6|  j d  6|  j d! 6| d" 6} |  j" |  j  | ƒ d  S(#   Ni   i    iÿÿ  s   the zero objectt   wbs-   filename must be a path or a file-like objectt   datapatht   fontst   pdfcorefontss	   %PDF-1.4
s   %¬Ü «º
t   roott   pagess   extended graphics statess   tiling patternss   Gouraud triangless   external objectst	   resourcest   Catalogt   Typet   Pagest    s$   matplotlib %s, http://matplotlib.orgt   Creators   matplotlib pdf backend%st   Producert   CreationDates   PDF Text ImageB ImageC ImageIt   Fontt   XObjectt	   ExtGStatet   Patternt   Shadingt   ProcSet(7   t
   nextObjectt	   xrefTableR;   t   passed_in_file_objectRg   t   original_file_liket	   tell_baseR   t   openR   Rá   t   IOErrorR   t   TrueRS   t   ost   pathR0   R   t   _core14fontdirRÝ   t   currentstreamRz   t   reserveObjectt
   rootObjectt   pagesObjectt   pageListt
   fontObjectt   alphaStateObjectt   hatchObjectt   gouraudObjectt   XObjectObjectt   resourceObjectRd   Rç   R   R   t   todayt   infoDictt	   fontNamest   nextFontt   dviFontInfot   type1Descriptorst   used_characterst   alphaStatest   nextAlphaStatet   hatchPatternst	   nextHatcht   gouraudTrianglest   imagest	   nextImaget   markerst   multi_byte_charprocst   pathst   split(   Rw   t   filenameRÝ   Rò   t   revisiont   xt   procsetsRô   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRx   ‰  s~    																								"




c         C  s  |  j  ƒ  | | |  _ |  _ |  j d ƒ } i t d ƒ d 6|  j d 6|  j d 6d d d | d | g d 6| d	 6i t d
 ƒ d 6t d ƒ d 6t d ƒ d 6d
 6} |  j d ƒ } |  j | | ƒ |  j j	 | ƒ |  j
 | j |  j d ƒ ƒ |  j t j d t j ƒ d  S(   Ns   page contentst   PageRö   t   Parentt	   Resourcesi    iH   t   MediaBoxt   Contentst   Groupt   TransparencyR–   t	   DeviceRGBR°   t   pages   length of content streamt   round(   t	   endStreamt   widtht   heightR  Rd   R  R  Rç   R  R/   t   beginStreamRv   t   outputt   GraphicsContextPdft
   joinstylesRÓ   R¹   (   Rw   R9  R:  t   contentObjectt   thePaget
   pageObject(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   newPageà  s"    


c      
   C  sú  |  j  ƒ  |  j ƒ  |  j |  j t g  |  j j ƒ  D] } | d | d f ^ q3 ƒ ƒ |  j ƒ  |  j ƒ  t |  j	 j ƒ  ƒ } x) |  j
 j ƒ  D] } | d | | d <q� Wx' |  j j ƒ  D] \ } } | | | <q¼ Wx6 |  j D]+ \	 } } } } }	 }
 } } } | | | <qà W|  j |  j | ƒ |  j ƒ  |  j ƒ  |  j ƒ  |  j |  j i t d ƒ d 6|  j d 6t |  j ƒ d 6ƒ |  j ƒ  |  j ƒ  |  j ƒ  |  j r±|  j j ƒ  nE |  j d  k	 ré|  j j |  j j ƒ  ƒ |  j j  ƒ  n |  j j  ƒ  d  S(   Ni    i   R÷   Rö   t   Kidst   Count(!   R8  t
   writeFontsRç   R  Ra   R  t
   itervaluest   writeHatchest   writeGouraudTrianglesR$  R&  R'  Rc   R(  R  t   writeImagest   writeMarkerst   writePathCollectionTemplatesR  Rd   R  R.   t   writeInfoDictt	   writeXreft   writeTrailerR  RÝ   Rì   R  Rg   Rz   Ræ   t   close(   Rw   Rs   t   xobjectst   tupR€   t   valueR  t   transt   obR0   t   capt   paddingt   filledt   stroked(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRO  ø  s>    

1

+






	c         C  s6   |  j  d  k r" |  j j | ƒ n |  j  j | ƒ d  S(   N(   R  Rg   RÝ   Rz   (   Rw   Rê   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRz     s    c         G  s-   |  j  t t t | ƒ ƒ ƒ |  j  d ƒ d  S(   Ns   
(   Rz   R9   t   mapR@   (   Rw   Rê   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR<  #  s    c         C  s1   |  j  d  k s t ‚ t | | |  | ƒ |  _  d  S(   N(   R  Rg   R<   RØ   (   Rw   Rv   R.   RÛ   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR;  '  s    c         C  s,   |  j  d  k	 r( |  j  j ƒ  d  |  _  n  d  S(   N(   R  Rg   Rè   (   Rw   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR8  +  s    c         C  sä   t  | ƒ r | } n^ t d rg t | d d d |  j ƒ} | d
 k rs t d d d d |  j ƒ} qs n t | ƒ } |  j j | ƒ } | d
 k rà t d |  j ƒ } | |  j | <|  j d 7_ t	 j
 j d | | f d	 ƒ n  | S(   sÊ   
        Select a font based on fontprop and return a name suitable for
        Op.selectfont. If fontprop is a string, it will be interpreted
        as the filename (or dvi name) of the font.
        s   pdf.use14corefontst   fontextt   afmt	   directoryt	   Helveticas   F%di   s   Assigning font %s = %st   debugN(   R   R   R   R  Rg   R  t   getRd   R  t
   matplotlibt   verboset   report(   Rw   t   fontpropR*  t   Fx(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   fontName0  s$    	
	
c         C  s>  i  } x|  j  j ƒ  D]\ } } t j j d | d ƒ | j d ƒ rq t j j d d ƒ |  j | ƒ | | <q | |  j k r³ t j j d d ƒ |  j | |  j | ƒ | | <q t j j d d ƒ t	 | ƒ \ } } |  j
 j | ƒ } | d  k	 r t | d ƒ r |  j | | d ƒ | | <q q W|  j |  j | ƒ d  S(   Ns   Embedding font %sR^  s   .afms   Writing AFM fonts   Writing Type-1 fonts   Writing TrueType fonti   (   R  Rc   R`  Ra  Rb  t   endswitht   _write_afm_fontR  t   embedTeXFontR   R  R_  Rg   R.   t   embedTTFRç   R  (   Rw   Rð   R*  Rd  t   realpatht   stat_keyt   chars(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRE  M  s     !c         C  s�   t  | d ƒ � } t | ƒ } Wd  QX| j ƒ  } i t d ƒ d 6t d ƒ d 6t | ƒ d 6t d ƒ d 6} |  j d	 ƒ } |  j | | ƒ | S(
   Nt   rbRü   Rö   t   Type1t   Subtypet   BaseFontt   WinAnsiEncodingt   Encodings   font dictionary(   R  R   t   get_fontnameRd   R  Rç   (   Rw   R*  RÝ   t   fontt   fontnamet   fontdictt   fontdictObject(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRg  b  s    c         C  sM  t  j j d | d t | j ƒ d ƒ |  j d ƒ } |  j | | j j ƒ |  j d ƒ } i t	 d ƒ d 6t	 d ƒ d	 6d
 d 6t
 | j j ƒ d d 6| d 6} | j d  k	 rt j | j ƒ } g  | D] } t	 | ƒ ^ qÉ } d
 g | } i t	 d ƒ d 6| d 6| d <n  | j d  k rit j d d | j d d d ƒ t	 | j ƒ | d <|  j | | ƒ | St j | j ƒ }	 | j r™|	 j | j ƒ }	 n  t	 |	 j d ƒ | d <| j j d d ƒ | j j d d ƒ f }
 |  j j | j |
 f ƒ } | d  k r/|  j |	 | j ƒ } | |  j | j |
 f <n  | | d <|  j | | ƒ | S(   Ns   Embedding TeX font s    - fontinfo=R^  s   font widthss   font dictionaryRü   Rö   Rn  Ro  i    t	   FirstChari   t   LastChart   WidthsRr  t   Differencess5   Because of TeX configuration (pdftex.map, see updmap s)   option pdftexDownloadBase14) the font %s s2   is not embedded. This is deprecated as of PDF 1.5 s<   and it may cause the consumer application to show something s   that was not intended.Rp  t   FontNamet   slantg        Rb   g      ð?t   FontDescriptor(   R`  Ra  Rb  t   reprt   __dict__R  Rç   t   dvifontt   widthsRd   R.   t   encodingfileRg   t   dvireadRr  t   fontfilet   warningst   warnt   basefontt	   type1fontt	   Type1Fontt   effectst	   transformt   propR_  R  t   createType1Descriptor(   Rw   t   texnamet   fontinfot   widthsObjectRw  Rv  t   enct   cht   differencesArrayt   t1fontR‹  t   fontdesc(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRh  n  sJ    	
	*
c   
      C  sŽ  |  j  d ƒ } |  j  d ƒ } | j d } | j d } d } | rQ | d O} n  | d O} | rn | d O} n  t t | ƒ ƒ } i t d	 ƒ d
 6t | j d ƒ d 6| d 6| j d 6| d 6| j d 6| j d 6d d 6d d 6| d 6| j d d 6d d 6}	 |  j | |	 ƒ |  j	 | j
 d  i t | j d ƒ d 6t | j d ƒ d 6d d 6ƒ |  j j | j d ƒ |  j j | j d ƒ |  j ƒ  | S(   Ns   font descriptors	   font filet   ItalicAnglet   isFixedPitchi    i   i   i   R~  Rö   R|  t   Flagst   FontBBoxt   Ascentt   Descentiè  t	   CapHeightiô  t   XHeightt   FontFilet
   FamilyNamet
   FontFamilyi2   t   StemVt   Length1t   Length2t   Length3i   i   i@   (   R  R�  R   t   strRd   t   bboxt   ascendert	   descenderRç   R;  Rv   Rg   R.   t   partsR  Rz   R8  (
   Rw   R•  R…  t   fontdescObjectt   fontfileObjectt   italic_anglet   fixed_pitcht   flagst   ft2fontt
   descriptor(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRŽ  ©  sB     
 




c         C  s*   d t  j j t  j j | ƒ ƒ d | f S(   Ns   %s-%si    (   R
  R  t   splitextt   basename(   Rw   R*  t   symbol_name(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   _get_xobject_symbol_nameÛ  s    sO  /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
%d beginbfrange
%s
endbfrange
endcmap
CMapName currentdict /CMap defineresource pop
end
endc           s‘  t  t ˆ ƒ ƒ } t d } | j t d „ ‰  ‡  ‡ ‡ ‡ f d †  } ‡ ‡ ‡ f d †  } | j ƒ  } y | d% j d ƒ ‰ Wn$ t k
 r¤ | d& j d ƒ ‰ n Xˆ j d d ƒ ‰ t	 ˆ ƒ ‰ | j
 d ƒ pã i d d 6d d 6} | j
 d ƒ pÿ i d' d 6}	 | j }
 | j } d } t } |
 t @r7| d( O} n  | rJ| d) O} n
 | d* O} | t @rk| d+ O} n  i
 t	 d ƒ d 6ˆ d 6| d 6g  | j D] } ˆ  | d t ƒ^ q“d 6ˆ  | j d t ƒd 6ˆ  | j d t ƒd 6ˆ  | d d t ƒd 6ˆ  | d ƒ d 6|	 d d d 6d d  6} t ˆ ƒ rUd! } t j d" d# t j j ˆ ƒ ƒ n  | d	 k rq| | | | ƒ S| d! k r�| | | | ƒ Sd$ S(,   s9   Embed the TTF font from the named file into the document.s   pdf.fonttypec         S  sB   |  | d } | r t  | ƒ S| d k  r4 t | ƒ St | ƒ Sd S(   s1   Convert font coordinates to PDF glyph coordinatesiè  i    N(   R7  R   R   (   R8   t   upet   nearestRR  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   cvtû  s     
 
c   !        sè  ˆ j  d ƒ } ˆ j  d ƒ } ˆ j  d ƒ } ˆ j  d ƒ } g  } d) \ } }	 g  ˆ j D] }
 ˆ |
 d t ƒ^ qX } i t d ƒ d	 6ˆ d
 6| d 6|	 d 6| d 6t d ƒ d 6| d d 6| d 6d d d d d d g d 6| d 6i t d ƒ d	 6| d 6d 6| d 6} d d l m ‰  t ˆ  d ƒ r7‡  f d †  ‰ n ‡  f d †  ‰ ‡ ‡ ‡ f d †  } g  t | |	 d ƒ D] } | | ƒ ^ qo} t | ƒ | d  <ˆ j	 ƒ  } g  } g  } t
 ƒ  } xt | D]l } | } | j | ƒ pÝd } | j | ƒ ˆ j | ƒ } | d k r| j | | f ƒ q¿| j | ƒ q¿W| j ƒ  d! } xM | D]E \ } } | | d k rr| j | ƒ n  | j t | ƒ ƒ | } qFWt j ˆ | ƒ } i  } i  } xô | j ƒ  D]æ \ } } i t | ƒ d" 6} | | k r)t d# ƒ | d	 <t d$ ƒ | d <| | d% <| | j d& ƒ d' } n  ˆ j  d( ƒ }  ˆ j |  j d* | ƒ ˆ j j | ƒ ˆ j ƒ  | | k r–ˆ j ˆ | ƒ } |  ˆ j | <qº|  | | <qºWˆ j | | ƒ ˆ j | | ƒ ˆ j | | ƒ ˆ j | | ƒ | S(+   s5   The Type 3-specific part of embedding a Truetype fonts   font widthss   font descriptors   font dictionarys   character procsi    iÿ   R·  Rü   Rö   Rp  Rx  Ry  R~  t   Type3Ro  R|  Rd   Rš  gü©ñÒMbP?t
   FontMatrixt	   CharProcsRr  R{  Rz  iÿÿÿÿ(   t   cp1252t   decoding_mapc           s   ˆ  j  |  p d S(   Ni    (   R½  (   t   charcode(   R¼  (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   decode_char#  s    c           s   t  ˆ  j |  ƒ S(   N(   R†   t   decoding_table(   R¾  (   R¼  (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR¿  &  s    c           s2   ˆ |  ƒ } ˆ j  | d t t Bƒj } ˆ  | ƒ S(   NR¯  (   t	   load_charR"   R#   t   horiAdvance(   R¾  RZ   R9  (   R¸  R¿  Rt  (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   get_char_width)  s    i   t   MaxWidthiþÿÿÿRâ   Rý   t   Formt   BBoxt   d1i   t   charProc(   i    iÿ   N(   R  R§  R;   Rd   t	   encodingsR¼  RM   t   ranget   maxt   get_charmapt   setR_  R/   t   get_glyph_namet   addt   sortR+   t   get_pdf_charprocsRc   R.   t   findR;  Rv   Rg   R  Rz   R8  Rµ  R'  Rç   (!   Rt  t
   charactersR±  R‘  R«  Rw  t   charprocsObjectR”  t	   firstchart   lastcharR,  R§  Rv  RÃ  R¾  R‚  t   cmapt	   glyph_idst   differencest   multi_byte_charsRž   t   ccodet   gindt
   glyph_namet   last_cR€   t   rawcharprocst	   charprocst   charprocsReft   charnamet   streamt   charprocDictt   charprocObject(   R¸  R*  t   ps_nameRw   (   R¼  R¿  Rt  sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   embedTTFType3  sŽ    (
,	



c   #        sž  ˆ j  d ƒ } ˆ j  d ƒ } ˆ j  d ƒ } ˆ j  d ƒ } ˆ j  d ƒ } ˆ j  d ƒ } ˆ j  d ƒ }	 i t d ƒ d	 6t d
 ƒ d 6ˆ d 6i d d 6d d 6d d 6d 6| d 6| d 6| d 6}
 i t d ƒ d	 6t d ƒ d 6ˆ d 6t d ƒ d 6| g d 6|	 d 6} | | d <ˆ j  d ƒ } ˆ j | j ˆ j  d ƒ i | d 6ƒ t ˆ  d  ƒ �S } d } xC t r¢| j d! ƒ } | sPn  | t | ƒ 7} ˆ j j	 | ƒ q`WWd" QXˆ j
 ƒ  ˆ j | | ƒ d# g d$ } |  j ƒ  } g  } g  } d } x† | D]~ } | } | j | ƒ pd } |  j | d% t ƒ} | j | | j d& f ƒ | d$ k  rdt | ƒ | | <n  t | | ƒ } qõW| j ƒ  | | d'  } d( } g  } d } g  } x‹ | D]ƒ \ } } | | d' k rý| j | ƒ | j | g ƒ | j | | g ƒ n | d) j | ƒ | | d) d' <t | | ƒ } | } q®Wg  } x[ | D]S \ } }  | j d* | |  d+ j g  t | |  d' ƒ D] }! d, |! ^ qwƒ f ƒ qBWˆ j t | ƒ d- j | ƒ f j d. ƒ }" d/ j | ƒ j d0 ƒ } ˆ j | j d" i t | ƒ d1 6ƒ ˆ j j	 | ƒ ˆ j
 ƒ  ˆ j |	 j d" i |" d1 6ƒ ˆ j j	 |" ƒ ˆ j
 ƒ  | | d2 <ˆ j | |
 ƒ ˆ j | | ƒ ˆ j | | ƒ ˆ j | | ƒ | S(3   s6   The Type 42-specific part of embedding a Truetype fonts   font descriptors   CID font dictionarys   Type 0 font dictionarys   CIDToGIDMap streams   font file streams   Type 0 widthss   ToUnicode mapRü   Rö   t   CIDFontType2Ro  Rp  t   Adobet   Registryt   Identityt   Orderingi    t
   Supplementt   CIDSystemInfoR~  RÐ   t   CIDToGIDMapt   Type0s
   Identity-HRr  t   DescendantFontst	   ToUnicodet	   FontFile2s   decoded length of a fonts   length of font streamR£  Rm  i   Nu    i   R¯  i   i   iþÿÿÿiÿÿÿÿs   <%04x> <%04x> [%s]R,   s   <%04x>s   
RA   Rø   s   utf-16beRâ   RÄ  (   R  Rd   R;  Rv   R  R	  t   readR.   R  Rz   R8  Rç   RÌ  R_  RÁ  R#   R/   RÂ  t   unichrRË  RÐ  R0   RÊ  t   _identityToUnicodeCMapRT   Rg   (#   Rt  RÓ  R±  R«  t   cidFontDictObjectt   type0FontDictObjectt   cidToGidMapObjectR¬  t   wObjectt   toUnicodeMapObjectt   cidFontDictt   type0FontDictt   length1ObjectR…  t   length1Rê   t   cid_to_gid_mapR×  t   unicode_mappingR‚  t	   max_ccodeRž   RÛ  RÜ  t   glypht
   last_ccodeRÎ   t	   max_widtht   unicode_groupsR9  t   unicode_bfranget   startRè   R,  t   unicode_cmap(   R*  Ræ  Rw   (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   embedTTFType42s  s¾    



	 


<	


i   i    i   t   macromani   i	  s   utf-16beRA   t   replacet   pcltt	   capHeightt   xHeightt   postt   italicAnglei   i   R~  Rö   R|  R™  R·  Rš  R›  Rœ  R�  Rž  R—  R¢  i*   s.   '%s' can not be subsetted into a Type 3 font. s/   The entire font will be embedded in the output.N(   i   i    i    i   (   i   i   i	  i   (   i    i    i   i   i    i@   (   R   R¦  R   t   units_per_EMR	  t   get_sfntR�   t   KeyErrorRT   Rd   t   get_sfnt_tablet
   face_flagst   style_flagsR;   R    R!   R§  R¨  R©  R   R†  R‡  R
  R  R³  (   Rw   R*  RÓ  Rt  t   fonttypeRç  R
  t   sfntR  R  t   fft   sfR¯  t   symbolicR,  R±  (    (   R¸  R*  Ræ  Rw   sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRi  õ  s^    
	ox		
  

 )
	c         C  s…   |  j  j | d ƒ } | d k	 r) | d St d |  j ƒ } |  j d 7_ | i t d ƒ d 6| d d 6| d d 6f |  j  | <| S(	   s>   Return name of an ExtGState that sets alpha to the given valuei    s   A%di   Rþ   Rö   t   CAt   caN(   R  R_  Rg   Rd   R   (   Rw   t   alphat   stateR€   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt
   alphaState!  s    #c         C  s»   | d  k	 rc | \ } } } | d  k	 r6 t | ƒ } n  | d  k	 rQ t | ƒ } n  | | | f } n  |  j j | d  ƒ } | d  k	 rˆ | St d |  j ƒ } |  j d 7_ | |  j | <| S(   Ns   H%di   (   Rg   Rf   R!  R_  Rd   R"  (   Rw   t   hatch_stylet   facet   edget   hatcht   patternR€   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   hatchPattern/  s    c   	      C  sÙ  t  ƒ  } d } x°|  j j ƒ  D]Ÿ\ } } |  j d ƒ } | | | <i g  d j ƒ  D] } t | ƒ ^ qT d 6} |  j | j d  i t d ƒ d 6d d 6d d	 6d d
 6d d | | g d 6| d 6| d 6| d 6ƒ | d } |  j	 | d | d | d t
 j ƒ | d d  k	 rY| d } |  j	 | d | d | d t
 j d d | | t
 j t
 j ƒ
 n  |  j	 d t
 j ƒ |  j	 |  j t j | d ƒ t ƒ  j | ƒ d t ƒŒ  |  j	 t
 j ƒ |  j ƒ  q W|  j |  j | ƒ d  S(   Ng      R@s   hatch patterns   PDF Text ImageB ImageC ImageIt   ProcsetsRÿ   Rö   i   t   PatternTypet	   PaintTypet
   TilingTypei    RÆ  t   XStept   YStepR0  i   gš™™™™™¹?t   simplify(   Ra   R!  Rc   R  R)  Rd   R;  Rv   Rg   R<  RÓ   R«   R­   RŸ   R9   RÍ   t   pathOperationsR*   R%  R&   t   scaleR;   R•   R8  Rç   R  (	   Rw   t	   hatchDictt   sidelenR"  R€   RT  R,  t   rest   rgb(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRG  B  s:    	
)	
%
!
c         C  s6   t  d t |  j ƒ ƒ } |  j j | | | f ƒ | S(   Ns   GT%d(   Rd   R.   R#  R/   (   Rw   t   pointst   colorsR€   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   addGouraudTrianglesj  s    c         C  sþ  t  ƒ  } xÛ|  j D]Ð\ } } } |  j d ƒ } | | | <| j } | j | d | d d f ƒ } | j | d | d d f ƒ } t j | d d ƒd }	 t j | d d ƒd }
 t d ƒ |
 |	 } |  j	 | j
 d  i d d	 6d
 d 6d d 6d d 6t d ƒ d 6t d 6|	 d |
 d |	 d |
 d d d d d d d g
 d 6ƒ t j | d | d f d d d d d f d d d f g ƒ} d | d <| |	 | | d <| d  d  … d  d … f d | d <|  j | j ƒ  ƒ |  j ƒ  q W|  j |  j | ƒ d  S(   Ns   Gouraud trianglei    i   i   i   t   axisi   l   ÿÿ t   ShadingTypei    t   BitsPerCoordinatet   BitsPerComponentt   BitsPerFlagR5  t
   ColorSpacet	   AntiAliast   Decodet   dtypeR¯  t   u1R5  s   >u4R6  i   g     ào@i   i   (   s   flagss   u1(   i   (   i   (   Ra   R#  R  t   shapet   reshapeRP   t   minRË  RO   R;  Rv   Rg   Rd   R	  t   emptyRz   t   tostringR8  Rç   R  (   Rw   t   gouraudDictR€   R5  R6  RT  RB  t   flat_pointst   flat_colorst
   points_mint
   points_maxt   factort	   streamarr(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRH  o  s@    	
	!!	

$c         C  sx   |  j  j | d ƒ } | d k	 r) | d St d |  j ƒ } |  j d |  j ƒ } |  j d 7_ | | f |  j  | <| S(   s=   Return name of an image XObject representing the given image.i    s   I%ds   image %di   N(   R$  R_  Rg   Rd   R%  R  (   Rw   t   imaget   pairR€   RT  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   imageObject•  s    c         C  s¢   | j  ƒ  \ } } } t j | t j ƒ } | | d f | _ | d  d  … d  d  … d  d … f } | d  d  … d  d  … d d  … f } | | | j ƒ  | j ƒ  f S(   Ni   i   (   t   as_rgba_strRP   t
   fromstringt   uint8RB  RF  (   Rw   t   imR“   RÎ   R7   t   rgbaR4  t   a(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   _rgb¥  s    %%g333333Ó?gáz®Gáâ?g)\�Âõ(¼?c         C  sï   | j  ƒ  } t j | d t j ƒ } | d | d d f | _ | j t j ƒ } | d  d  … d  d  … d f } | d  d  … d  d  … d f }	 | d  d  … d  d  … d f }
 | | |	 | |
 | j t j ƒ } | d | d | j ƒ  f S(   Ni   i    i   i   (   RQ  RP   RR  RS  RB  t   astypet   float32RF  (   Rw   RT  t   rct   gct   bct   rgbatRU  t   rgba_fRq   Rª   RŽ   t   gray(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   _gray®  s    &c   	      C  sö  xï|  j  j ƒ  D]Þ\ } } | j ƒ  | j rÃ |  j | ƒ \ } } } |  j | d j |  j d ƒ i t d ƒ d 6t d ƒ d 6| d 6| d 6t d	 ƒ d
 6d d 6ƒ |  j	 j
 | ƒ |  j ƒ  n!|  j | ƒ \ } } } } |  j d ƒ } |  j | j |  j d ƒ i t d ƒ d 6t d ƒ d 6| d 6| d 6t d	 ƒ d
 6d d 6ƒ } |  j	 j
 | ƒ |  j ƒ  |  j | d j |  j d ƒ i t d ƒ d 6t d ƒ d 6| d 6| d 6t d ƒ d
 6d d 6| d 6ƒ |  j	 j
 | ƒ |  j ƒ  | j ƒ  q Wd  S(   Ni   s   length of image streamRý   Rö   t   ImageRo  t   Widtht   Heightt
   DeviceGrayR=  i   R;  t   smasks   length of smask streamR5  t   SMask(   R$  Rc   t
   flipud_outt   is_grayscaleR`  R;  Rv   R  Rd   R  Rz   R8  RW  (	   Rw   t   imgRO  R:  R9  Rê   t   adatat   smaskObjectRã  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRI  ¹  s@    
	



c         C  sè   |  j  | | d t ƒ} t | ƒ t | ƒ t | ƒ | | f }	 |  j j |	 ƒ }
 |
 d k r½ t d t |  j ƒ ƒ } |  j	 d t |  j ƒ ƒ } | j
 | ƒ } | | | | g |  j |	 <n' |
 d | k  rÚ | |
 d <n  |
 d } | S(   s<   Return name of a marker XObject representing the given path.R.  s   M%ds	   marker %diÿÿÿÿi    N(   R/  R;   Rf   RV   R&  R_  Rg   Rd   R.   R  t   get_extents(   Rw   R  RS  RÕ   RÖ   t   lwt	   joinstylet   capstylet   pathopsRr   R5   R€   RT  R§  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   markerObjectÞ  s    '
c   
      C  sù   xò |  j  j ƒ  D]á \ \ } } } } } \ } } } }	 | j |	 d ƒ } |  j | j d  i t d ƒ d 6t d ƒ d 6t | j ƒ d 6ƒ |  j	 t
 j | t j ƒ |  j	 t
 j | t j ƒ |  j	 | Œ  |  j	 t j t | | ƒ ƒ |  j ƒ  q Wd  S(   Ng      à?Rý   Rö   RÅ  Ro  RÆ  (   R&  Rc   t   paddedR;  Rv   Rg   Rd   Re   t   extentsR<  R=  R>  RÓ   R¹   t	   capstylesR»   t
   paint_pathR;   R8  (
   Rw   Rp  RÕ   RÖ   Rn  Ro  R€   RT  R§  Rm  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRJ  ú  s    4	c   	   
   C  sp   t  d t |  j ƒ ƒ } |  j d t |  j ƒ ƒ } |  j j | | | | | j ƒ  | j ƒ  | | | f	 ƒ | S(   Ns   P%ds   path %d(   Rd   R.   R(  R  R/   t   get_joinstylet   get_capstyle(	   Rw   R[  R  RS  RV  RW  RX  R€   RT  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   pathCollectionObject  s    	!c      
   C  sF  x?|  j  D]4\	 } } } } } } } } }	 |  j | | d t ƒ}
 | j | ƒ } t j t j | j ƒ ƒ s‚ d d d d g } n | j | ƒ } t	 | j ƒ } |  j
 | j d  i t d ƒ d 6t d ƒ d 6| d 6ƒ |  j t j | t j ƒ |  j t j | t j ƒ |  j |
 Œ  |  j t j t | |	 ƒ ƒ |  j ƒ  q
 Wd  S(   NR.  i    Rý   Rö   RÅ  Ro  RÆ  (   R(  R/  R;   Rl  RP   t   allRR   Rs  Rr  Re   R;  Rv   Rg   Rd   R<  R=  R>  RÓ   R¹   Rt  R»   Ru  R8  (   Rw   R€   R  RS  RT  Rn  Ro  RV  RW  RX  Rp  R§  Rs  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRK    s"    (	c   	      C  se  g  } d  } xR|  j | d | d | d | ƒD]/\ } } | t j k ri | j | ƒ | j t j ƒ nî | t j k r‹ | j t j	 ƒ nÌ | d  k r¦ t
 d ƒ ‚ n± | t j k rÕ | j | ƒ | j t j ƒ n‚ | t j k r(t t | d ƒ t | ƒ Œ  } | j | d ƒ | j t j ƒ n/ | t j k rW| j | ƒ | j t j ƒ n  | } q. W| S(   NRÏ   R.  t   sketchs   Path lacks initial MOVETOiþÿÿÿi   (   Rg   t   iter_segmentsR*   t   MOVETORb   R/   RÓ   R¢   t	   CLOSEPOLYR’   RS   t   LINETOR    t   CURVE3R   Re   R�   t   CURVE4(	   R  RŒ  RÏ   R.  Rz  t   cmdst   last_pointsR5  t   code(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR/  $  s0     
c         C  sp   | r2 d d |  j  d |  j d f } | j } n d  } t } |  j | | | d | d | ƒ} |  j | Œ  d  S(   Ng        iH   R.  Rz  (   R9  R:  t   should_simplifyRg   R;   R/  R<  (   Rw   R  RŒ  RÏ   Rz  R.  R�  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt	   writePathA  s     	Rø   c         C  s;   |  j  } |  j  d 7_  |  j j d d | g ƒ t | ƒ S(   s™   Reserve an ID for an indirect object.
        The name is used for debugging in case we forget to print out
        the object with writeObject.
        i   i    N(   R  R  R/   Rg   Ru   (   Rw   R€   Rv   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR  L  s    	c         C  s%   |  j  j ƒ  |  j |  j | d <d  S(   Ni    (   RÝ   Rá   R  R  (   Rw   Rv   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRÞ   W  s    c         C  s$   |  j  | j ƒ | j | |  ƒ d  S(   N(   RÞ   Rv   Rz   (   Rw   t   objectR{   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRç   Z  s    c         C  s  |  j  j ƒ  |  j |  _ |  j d |  j j d ƒ ƒ d } t } x¥ |  j D]š \ } } } | d k r� t
 d | | f d t j ƒt } nO | d k r¼ |  j d | | f j d ƒ ƒ n  |  j d | | f j d ƒ ƒ | d	 7} qL W| rÿ t d
 ƒ ‚ n  d S(   s   Write out the xref table.s
   xref
0 %d
RA   i    s   No offset for object %d (%s)R|   s   the zero objects   %010d %05d f 
s   %010d %05d n 
i   s   Indirect object does not existN(   RÝ   Rá   R  t	   startxrefRz   R  RT   R;   R  Rg   t   printt   syst   stderrR	  R<   (   Rw   R6   t   borkent   offsett
   generationR€   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRM  ^  s    	# c         C  sè   d „  } d „  } i	 t  d 6t  d 6t  d 6t  d 6t  d 6t  d 6| d	 6| d
 6| d 6} xb |  j j ƒ  D]Q } | | k r� t j d | ƒ qg | | |  j | ƒ sg t j d | ƒ qg qg W|  j d ƒ |  _ |  j |  j |  j ƒ d S(   s8   Write out the info dictionary, checking it for good formc         S  s   t  |  t ƒ S(   N(   RN   R   (   R,  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   <lambda>u  s    c         S  s   t  |  t ƒ o |  j d k S(   NR	  R;   t   Unknown(   s   Trues   Falses   Unknown(   RN   Rd   R€   (   R,  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRŽ  v  s   t   Titlet   Authort   Subjectt   KeywordsRù   Rú   Rû   t   ModDatet   Trappeds   Unknown infodict keyword: %ss!   Bad value for infodict keyword %st   infoN(   R   R  t   iterkeysR†  R‡  R  t
   infoObjectRç   (   Rw   t   is_datet   check_trappedt   keywordst   k(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRL  r  s$    		

c         C  s_   |  j  d ƒ |  j  t i |  j d 6|  j d 6|  j d 6ƒ ƒ |  j  d |  j j d ƒ ƒ d S(   s   Write out the PDF trailer.s   trailer
t   Sizet   Roott   Infos   
startxref
%d
%%%%EOF
RA   N(   Rz   R@   R  R  R˜  R‡  RT   (   Rw   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRN  ‹  s    	
(*   R}   R~   R   Rx   RB  RO  Rz   R<  Rg   R;  R8  Re  RE  Rg  Rh  RŽ  Rµ  Rö  Ri  R!  R'  RG  R7  RH  RP  RW  R`  RI  Rq  RJ  Rx  RK  RŠ   R/  R;   R…  R  RÞ   Rç   RM  RL  RN  (    (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRí   †  sN   	W		%							;	2		ÿ -			(		&				%								t   RendererPdfc           B  s(  e  Z e d  ƒ Z e d  ƒ Z d „  Z d „  Z d d „ Z d „  Z	 d „  Z
 d „  Z d „  Z d „  Z d d d d	 „ Z d d
 „ Z d „  Z d d „ Z d „  Z d „  Z d d d d „ Z d „  Z d d d „ Z d „  Z e d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   i2   c         C  sJ   t  j |  ƒ | |  _ |  j ƒ  |  _ t d ƒ |  _ | |  _ d  |  _	 d  S(   Nt   Pdf(
   R   Rx   R|   t   new_gcR[  R%   t   mathtext_parsert	   image_dpiRg   t   tex_font_map(   Rw   R|   R¤  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRx   š  s    		c         C  s   |  j  j |  j j ƒ  Œ  d  S(   N(   R|   R<  R[  t   finalize(   Rw   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR¦  ¢  s    c         C  sÎ   | j  } | | _  | j } | j r< | j | j f | _ nQ | d  k sZ t | ƒ d k  rs | j d d f | _ n | j d | d f | _ |  j j | ƒ } | r¸ |  j	 j
 | Œ  n  | | _  | | _ d  S(   Ni   i   g      ð?(   t
   _fillcolort   _effective_alphast   _forced_alphat   _alphaRg   R.   RW  R[  t   deltaR|   R<  (   Rw   R[  t	   fillcolort	   orig_fillt   orig_alphasR«  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   check_gc¥  s    				 	c         C  s8   |  j  d  k r- t j t j d ƒ ƒ |  _  n  |  j  | S(   Ns
   pdftex.map(   R¥  Rg   R„  t
   PsfontsMapt   find_tex_file(   Rw   t   texfont(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   tex_font_mapping¹  s    c         C  sˆ   t  | t t f ƒ r | } n	 | j } t | ƒ \ } } |  j j j | | t ƒ  f ƒ } | d j	 g  | D] } t
 | ƒ ^ qk ƒ d S(   sD   Keeps track of which characters are required from
        each font.i   N(   RN   R¦  RZ   t   fnameR   R|   R  t
   setdefaultRÍ  t   updateR†   (   Rw   Rt  R7   R´  Rj  Rk  R  R,  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   track_characters¿  s    		c         C  sY   xR | j  ƒ  D]D \ } \ } } |  j j j | | t ƒ  f ƒ } | d j | ƒ q Wd  S(   Ni   (   Rc   R|   R  Rµ  RÍ  R¶  (   Rw   t   otherRk  Rj  t   charsetR  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   merge_used_charactersË  s    c         C  s   |  j  d S(   Ng      R@(   R¤  (   Rw   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   get_image_magnificationÑ  s    c         C  s   t  S(   sA   
        pdf backend support arbitrary scaling of image.
        (   R	  (   Rw   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   option_scale_imageÔ  s    c         C  s:  |  j  | ƒ | j ƒ  \ } }	 | d  k r? d |	 |  j }	 n | }	 | d  k re d | |  j } n | } |  j j | ƒ }
 | d  k rÆ |  j j t j |	 d d | | | t j	 |
 t j
 t j ƒ np | j ƒ  \ } } } } } } |  j j t j | | | | | | t j	 |	 d d | | | t j	 |
 t j
 t j ƒ d  S(   Ng      R@i    (   R¯  t   get_size_outRg   R¤  R|   RP  R<  RÓ   R¿   R£   R¥   RÁ   t	   to_values(   Rw   R[  R,  t   yRT  t   dxt   dyRŒ  R“   RÎ   t   imobt   tr1t   tr2t   tr3t   tr4t   tr5t   tr6(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt
   draw_imageÚ  s$    c         C  sd   |  j  | | ƒ |  j j | | | d  k o: | j ƒ  d  k | j ƒ  ƒ |  j j |  j j ƒ  ƒ d  S(   N(	   R¯  R|   R…  Rg   t   get_hatch_patht   get_sketch_paramsR<  R[  t   paint(   Rw   R[  R  RŒ  t   rgbFace(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt	   draw_pathø  s    	c   !      C  sw  t  } t j | ƒ } t j | ƒ } t | ƒ sF t } | j ƒ  } nB t j | d  d  … d f | d k ƒ r‚ | d d k } n t } t | ƒ s� t } nB t j | d  d  … d f | d k ƒ rÙ | d d k } n t } | st j |  | | | | | | | | |	 |
 | | | ƒ St j	 |	 ƒ } g  } x] t
 |  j | | | ƒ ƒ D]@ \ } \ } } |  j j | | | | | | ƒ } | j | ƒ qJW|  j j } | |  j j ƒ  Œ  d	 \ } } x¤ |  j | | | | | | | | |	 |
 | | | ƒ D]o \ } } } } } |  j | | ƒ | | | | } }  | d d d d | |  t j | t j ƒ	 | | } } qíW| |  j j ƒ  Œ  d  S(
   Ni   i    g        i   (   i    i   (   i    i   (   i    i   (   i    i   (   i    i    (   R	  RP   t   asarrayR.   R;   t	   get_hatchRy  R   t   draw_path_collectionRË  R-   t   _iter_collection_raw_pathsR|   Rx  R/   R<  R[  t   pusht   _iter_collectionR¯  RÓ   R£   R¥   t   pop(!   Rw   R[  t   master_transformR(  t   all_transformst   offsetst   offsetTranst
   facecolorst
   edgecolorst
   linewidthst
   linestylest   antialiasedst   urlst   offset_positiont   can_do_optimizationRW  RX  RV  t
   path_codesR6   R  RŒ  R€   R<  t   lastxt   lastyt   xot   yot   path_idt   gc0RÍ  RÀ  RÁ  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRÑ     sN    )	)"		"(c         C  se  t  | ƒ t  | ƒ d k r? t j |  | | | | | | ƒ d  S|  j | | ƒ | j | ƒ } | j ƒ  } |  j j }	 |  j j | | | | |  j	 j
 | j ƒ  | j ƒ  ƒ }
 |	 t j ƒ d \ } } xŒ | j | d t ƒD]u \ } } t  | ƒ rÛ | d \ } } | | | | } } |	 d d d d | | t j |
 t j ƒ	 | | } } qÛ qÛ W|	 t j ƒ d  S(   Ni
   i    R.  iþÿÿÿi   (   i    i    (   R.   R   t   draw_markersR¯  RÕ   RÖ   R|   R<  Rq  R[  t
   _linewidthRv  Rw  RÓ   R¿   R{  R;   R£   R¥   RÁ   (   Rw   R[  t   marker_patht   marker_transR  RS  RÍ  RÕ   RÖ   R<  t   markerRã  Rä  t   verticesRƒ  R,  R¿  RÀ  RÁ  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRé  9  s*    	"c         C  s,   |  j  | | j d ƒ | j d ƒ | ƒ d  S(   Ni   i   i   i   (   i   i   i   (   i   i   i   (   t   draw_gouraud_trianglesRC  (   Rw   R[  R5  R6  RS  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   draw_gouraud_triangleU  s    c         C  s0  t  | ƒ t  | ƒ k s t ‚ | j d k s3 t ‚ | j d d k sL t ‚ | j d d k se t ‚ | j d k sz t ‚ | j d d k s“ t ‚ | j d d k s¬ t ‚ | j } | j | d | d d f ƒ } | j | ƒ } | j | ƒ } |  j j | | ƒ } |  j | ƒ |  j j	 | t
 j ƒ d  S(   Ni   i   i   i   i    (   R.   R<   t   ndimRB  RC  RŒ  R|   R7  R¯  R<  RÓ   RÑ   (   Rw   R[  R5  R6  RS  RB  t   tpointsR€   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRï  Y  s    	!i    c         C  s©   | | k o d k n r@ |  j  j | | | | t j ƒ ne | d t } |  j  j t | ƒ t | ƒ t | ƒ t | ƒ | | t j ƒ |  j  j d d t j ƒ d  S(   Ni    g     €f@(   R|   R<  RÓ   RÃ   R   R   R	   RÇ   (   Rw   R,  R¿  t   anglet   oldxt   oldyt   oldangle(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   _setup_textposj  s    $c      
   C  s,  |  j  j | d | ƒ \ } } }	 }
 } } |  j | ƒ t d } | d t } |  j j t j ƒ |  j j t	 | ƒ t
 | ƒ t
 | ƒ t	 | ƒ | | t j ƒ |  j | | j ƒ |  j j t j ƒ d	 } d
 \ } } xê |
 D]â \ } } } } } } t | ƒ rd } n | } | d k s*| d k rß |  j | | d | | ƒ | | } } | | f | k r–|  j j |  j j | ƒ | t j ƒ | | f } n  |  j j |  j t | ƒ | ƒ t j ƒ qß qß W|  j j t j ƒ | d k rÇxà |
 D]Õ \ } } } } } } t | ƒ rd } n | } | d k rë| d k rë|  j j | ƒ |  j j t j d | d d d | | | t j ƒ |  j j | | ƒ } |  j j t | ƒ t j ƒ |  j j t j ƒ qëqëWn  xK | D]C \ } } } } |  j j t j | | | | t j t j t j ƒ qÎW|  j j t j ƒ d  S(   NiH   s   pdf.fonttypeg     €f@i    i*   iÿ   i   gü©ñÒMbP?(   NN(   i    i    (   R£  t   parseRº  R   R   R|   R<  RÓ   R¿   R   R	   R£   R¯  RW  R™   Rg   R   R÷  Re  RÅ   t   encode_stringRõ  RÉ   R›   Rµ  Rd   R¥   RÁ   RŸ   R9   (   Rw   R[  R,  R¿  R7   R�  Ró  R9  R:  t   descentt   glyphst   rectsR  t   global_fonttypeRV  t	   prev_fontRô  Rõ  t   oxt   oyRu  t   fontsizet   numR´  R  R€   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   draw_mathtextt  sV    *
4
	
/	

	s   TeX!c	   %      C  sÞ  |  j  ƒ  }	 | j ƒ  }
 |	 j | |
 ƒ } t j | d ƒ } t | ƒ j ƒ  } | j ƒ  d  g  } } xö | j	 D]ë \ } } } } } | | k r1|  j
 j | j ƒ } | j |  j
 j k r|  j | j ƒ } t d | j d | j d | j d | j d | ƒ |  j
 j | j <n  | d | | j g g 7} | } n  | d | | t | ƒ g | | g g 7} qo Wd \ } } }
 x4| t | ƒ d
 k  r£| | | d !\ } } | d	 d k rº| d }
 nÜ | d	 | d	 k oÙd k n r–| d | d k r–| d | d
 } t | ƒ d k  rQ| d d c | d d	 7<| d c | d | d
 7<n4 | d c | d |
 | d d	 g 7<| d | d <| | d
 =qpn  | d
 7} qpWt ƒ  j | ƒ j | | ƒ } |  j | | j ƒ |  j
 j t j ƒ d \ } } } } xû | D]ó } | d	 d k r;|  j
 j | d
 | d t j  ƒ q| d	 d k rè| j! | d
 | d f ƒ \ } } |  j" | | | | | ƒ | | } } t | d ƒ d
 k rË|  j
 j | d d	 t j# ƒ qô|  j
 j | d t j$ ƒ qt% st& ‚ qW|  j
 j t j' ƒ |  j( ƒ  }  |  j) | ƒ |  j* d	 ƒ t+ j, t+ j- t+ j- t+ j- t+ j. g }! x‚ | j/ D]w \ } } }" }# t+ | | g | |# | g | |# | |" g | | |" g d	 d	 g g |! ƒ }$ |  j0 |  |$ | | j ƒ q_Wd  S(   NiH   R…  Rˆ  Rƒ  R‹  R�  Rt  t   texti    i   i   i   gš™™™™™¹?i   iÿÿÿÿg     @�@(   i    i    N(   i    i    i    i    (1   t   get_texmanagert   get_size_in_pointst   make_dviR„  t   Dvit   itert   nextRO  Rg   R  R|   Re  R�  R  R³  R   R*  t   psnamet   encodingR‹  t   sizet   chrR.   t   absR&   t
   rotate_degt	   translateR¯  RW  R<  RÓ   R™   RÅ   RŒ  R÷  RÉ   RË   R;   R<   R›   R¢  t   copy_propertiest   set_linewidthR*   R|  R~  R}  t   boxesRÎ  (%   Rw   R[  R,  R¿  R7   R�  Ró  t   ismatht   mtextt
   texmanagerR  t   dvifilet   dviR6  t   oldfontt   seqt   x1t   y1R�  R  R9  t   pdfnamet   psfontR6   t   curxt   eltt   nxtRŒ  t   mytranst   curyRô  Rõ  t   boxgcRp  R“   RÎ   R  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   draw_texµ  sz    
					-8&$#!7c         C  s,   | d k r | j  d d ƒ S| j  d d ƒ S(   Ni   i   R¼  R  s   utf-16be(   i   i   (   RT   (   Rw   R7   R  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRù    s    c	           sY  ˆ j  | | j ƒ | r5 ˆ j | ˆ ˆ ˆ ˆ ˆ  ƒ Sˆ j ƒ  ‰ t d r~ ˆ j ˆ ƒ ‰ ˆ j ˆ ƒ \ }	 }
 } } d ‰ nW ˆ j ˆ ƒ ‰ ˆ j ˆ ˆ ƒ ˆ j	 ˆ d d t
 ƒt d ‰ t ˆ j ƒ rÕ d ‰ n  ‡ f d †  } ‡  ‡ ‡ ‡ ‡ ‡ ‡ ‡ f d †  } ‡  ‡ ‡ ‡ ‡ ‡ ‡ ‡ f d	 †  } | ˆ ƒ \ } } | rK| ƒ  S| | ƒ Sd  S(
   Ns   pdf.use14corefontsi   g        R¯  s   pdf.fonttypei*   c           s  t  } g  } t d sü ˆ  d k rü t |  t ƒ rü t |  ƒ d k rü t |  ƒ }  x} |  D]u } t | ƒ d k rx d } n d } t | ƒ r¶ | d d | k r¶ | d d j | ƒ qW | j | | g f ƒ qW Wt | ƒ d k oó | d d d k } qü n  | | f S(   s¦   Determine if we should use the simple or woven method
            to output this text, and chunks the string into 1-byte and
            2-byte sections if necessary.s   pdf.use14corefontsi   i    iÿ   i   i   iÿÿÿÿ(   R	  R   RN   R^   R.   RZ   R†   R/   (   R7   t   use_simple_methodt   chunksRž   t	   char_type(   R  (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   check_simple_method4  s    
.	 c             sj   ˆ j  j t j ˆ j  j ˆ ƒ ˆ t j ƒ ˆ j ˆ ˆ ˆ  ƒ ˆ j  j ˆ j ˆ ˆ ƒ t j t j	 ƒ d S(   s%   Outputs text using the simple method.N(
   R|   R<  RÓ   R™   Re  RÅ   R÷  Rù  RÉ   R›   (    (   Ró  R  R  R�  R7   Rw   R,  R¿  (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   draw_text_simpleM  s    
c           sí  g  |  D]! \ } } | d j  | ƒ f ^ q }  ˆ j ƒ  } ˆ j j t j ƒ ˆ  d t } ˆ j j t | ƒ t | ƒ t | ƒ t | ƒ ˆ ˆ t j	 ƒ x:d D]2} d } } | d k rê ˆ j j t j
 ˆ j j ˆ ƒ ˆ t j ƒ n  xÃ|  D]»\ } } | d k r\| d k r\ˆ j | d d | d d ƒ ˆ j j ˆ j | ˆ ƒ t j ƒ | } n  d
 }	 xG| D]?}
 t |
 ƒ } | j | ƒ } | d
 k	 ri| d k rG| d k rGˆ j | ƒ } ˆ j j t j ƒ ˆ j j d ˆ d d d ˆ | d t j	 ƒ ˆ j j ˆ j | ƒ } ˆ j j t | ƒ t j ƒ ˆ j j t j ƒ n  ˆ j | d t ƒ} |	 d
 k	 r€ˆ j |	 | t ƒ } n d } | }	 | | d | j d	 7} qiqiWqñ W| d k r  ˆ j j t j ƒ q  q  Wˆ j j t j ƒ d
 S(   sŸ   Outputs text using the woven method, alternating
            between chunks of 1-byte characters and 2-byte characters.
            Only used for Type 3 fonts.Rø   g     €f@i   i   i    gü©ñÒMbP?R¯  g      P@g      ð@N(   i   i   (   R0   RÌ  R|   R<  RÓ   R¿   R   R   R	   R£   R™   Re  RÅ   R÷  Rù  RÉ   Rg   R†   R_  RÎ  Rµ  R´  Rd   R¥   RÁ   RÁ  R#   t   get_kerningR$   t   linearHoriAdvanceR›   (   R(  RV  RŽ   R×  t   modet   newxRô  t
   chunk_typet   chunkt   lastgindRž   RÛ  RÜ  RÝ  R€   R  t   kern(   Ró  Rt  R  R  R�  Rw   R,  R¿  (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   draw_text_wovenV  sV    .4

"	
	$(   R¯  RW  R  R  R   t   _get_font_afmt   get_str_bboxt   _get_font_ttfR·  t   set_textR#   R   R´  (   Rw   R[  R,  R¿  R7   R�  Ró  R  R  R¡   RŽ   RÎ   R“   R*  R+  R4  R'  R(  (    (	   Ró  Rt  R  R  R�  R7   Rw   R,  R¿  sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt	   draw_text  s*     
	
	$	$?c         C  sg  t  d rP |  j ƒ  } | j ƒ  } | j | | d |  ƒ\ } } } | | | f S| rƒ |  j j | d | ƒ \ } } } }	 }
 } n× t  d ró |  j | ƒ } | j | ƒ \ } } } } } | j ƒ  } | | d 9} | | d 9} | | d 9} ng |  j | ƒ } | j	 | d d t
 ƒ| j ƒ  \ } } d
 } | | 9} | | 9} | j ƒ  } | | 9} | | | f S(   Ns   text.usetext   rendereriH   s   pdf.use14corefontsiè  g        R¯  g      ð?g      P@g      �?(   R   R  R  t   get_text_width_height_descentR£  Rø  R5  t   get_str_bbox_and_descentR7  R8  R#   t   get_width_heightt   get_descent(   Rw   R7   R�  R  R  R  RÎ   R“   R¸   Rû  Rü  R  Rt  R¡   RŽ   R0  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR;  ›  s0    
-



c         C  sÛ   t  | ƒ } |  j j | ƒ } | d  k r× t | d d d |  j j ƒ} | d  k ru t d d d d |  j j ƒ} n  |  j j | ƒ } | d  k rÇ t | d ƒ �  } t | ƒ } | |  j | <Wd  QXn  | |  j | <n  | S(   NRZ  R[  R\  R]  Rm  (	   t   hasht   afm_font_cacheR_  Rg   R   R|   R  R  R   (   Rw   R�  Rr   Rt  R*  RÝ   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR5  ¹  s     c         C  sª   t  | ƒ } |  j j | ƒ } | d  k r† t | ƒ } |  j j | ƒ } | d  k rv t t | ƒ ƒ } | |  j | <n  | |  j | <n  | j ƒ  | j | j	 ƒ  d ƒ | S(   NiH   (
   R?  t   truetype_font_cacheR_  Rg   R   R   R¦  t   cleart   set_sizeR  (   Rw   R�  Rr   Rt  R*  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR7  Ë  s    
c         C  s   t  S(   N(   R;   (   Rw   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   flipyÙ  s    c         C  s   |  j  j d |  j  j d f S(   Ng      R@(   R|   R9  R:  (   Rw   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   get_canvas_width_heightÜ  s    c         C  s   t  |  j ƒ S(   N(   R=  R|   (   Rw   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR¢  ß  s    N(    R}   R~   R   RA  R@  Rx   R¦  Rg   R¯  R³  R·  Rº  R»  R¼  RÉ  RÎ  RÑ  Ré  Rð  Rï  R÷  R  R&  Rù  R;   R9  R;  R5  R7  RD  RE  R¢  (    (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR   –  s6   								9		
	AW	Š					R=  c        
   B  sI  e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z i d d 6d d	 6d
 d 6Z i d d 6d d	 6d
 d 6Z	 d „  Z
 d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d( e f d) e f d* e
 f d+ e f d, e f d- e f d. e f d/ e f d0 e f f	 Z d% „  Z d& „  Z d' „  Z RS(1   c         C  s5   t  j |  ƒ d |  _ d |  _ | |  _ d  |  _ d  S(   Ng        g      ð?(   g        g        g        (   g      ð?g      ð?(   R   Rx   R§  R¨  R|   Rg   t   parent(   Rw   R|   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRx   å  s
    			c         C  s'   t  |  j ƒ } | d =| d =t | ƒ S(   NR|   RF  (   Ra   R€  R  (   Rw   R¸   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRy   ì  s    c         C  sD   |  j  d k oC |  j d k oC t |  j ƒ d k pC |  j d d k S(   sÕ   
        Predicate: does the path need to be stroked (its outline drawn)?
        This tests for the various conditions that disable stroking
        the path, in which case it would presumably be filled.
        i    i   g        (   Rê  Rª  R.   RW  (   Rw   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRÖ   ò  s    c         G  sW   t  | ƒ r | d } n	 |  j } |  j pV | d k	 oV t  | ƒ d k pV | d d k S(   s¼   
        Predicate: does the path need to be filled?

        An optional argument can be used to specify an alternative
        _fillcolor, as needed by RendererPdf.draw_markers.
        i    i   g        N(   R.   R§  t   _hatchRg   (   Rw   t   argsR§  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRÕ   ý  s    		c         C  s   t  j t |  j ƒ  |  j ƒ  ƒ S(   s|   
        Return the appropriate pdf operator to close the path and
        cause it to be stroked, filled, or both.
        (   RÓ   Ru  R	  RÕ   RÖ   (   Rw   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   close_and_paint  s    c         C  s   t  j t |  j ƒ  |  j ƒ  ƒ S(   so   
        Return the appropriate pdf operator to cause the path to be
        stroked, filled, or both.
        (   RÓ   Ru  R;   RÕ   RÖ   (   Rw   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRÌ    s    i    t   butti   R7  i   t
   projectingt   mitert   bevelc         C  s   |  j  | t j g S(   N(   Rt  RÓ   R»   (   Rw   t   style(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   capstyle_cmd  s    c         C  s   |  j  | t j g S(   N(   R>  RÓ   R¹   (   Rw   RN  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   joinstyle_cmd   s    c         C  s   | t  j g S(   N(   RÓ   RÍ   (   Rw   R9  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   linewidth_cmd#  s    c         C  s=   | \ } } | d  k r' g  } d } n  t | ƒ | t j g S(   Ni    (   Rg   Re   RÓ   R·   (   Rw   t   dashesRŒ  t   dash(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   dash_cmd&  s
    	c         C  s   |  j  j | ƒ } | t j g S(   N(   R|   R!  RÓ   R½   (   Rw   R  t   forcedt   effective_alphasR€   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt	   alpha_cmd-  s    c         C  s‚   | s; |  j  d  k	 r% |  j |  j  ƒ St d ƒ t j g SnC |  j |  j  | f } |  j j | ƒ } t d ƒ t j | t j	 g Sd  S(   NR5  Rÿ   (
   R§  Rg   t   fillcolor_cmdRd   RÓ   R±   RW  R|   R'  Rµ   (   Rw   R%  R"  R€   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt	   hatch_cmd1  s    c         C  sc   t  d r g  S| d | d k o1 | d k n rG | d t j g St | d  ƒ t j g Sd  S(   Ns   pdf.inheritcolori    i   i   i   (   R   RÓ   R§   Re   R«   (   Rw   R4  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   rgb_cmd=  s
    
(c         C  so   | d  k s t d r g  S| d | d k o= | d k n rS | d t j g St | d  ƒ t j g Sd  S(   Ns   pdf.inheritcolori    i   i   i   (   Rg   R   RÓ   R©   Re   R­   (   Rw   R4  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRX  E  s
    (c         C  s;   t  |  j ƒ } | j |  ƒ |  j | _ | |  _ t j g S(   N(   R=  R|   R  RF  RÓ   R¿   (   Rw   RF  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRÓ  M  s
    	c         C  s>   |  j  d  k	 s t ‚ |  j |  j  ƒ |  j  j  |  _  t j g S(   N(   RF  Rg   R<   R  RÓ   RÁ   (   Rw   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRÕ  T  s    c         C  s  g  } xD |  j  |  j f | | f k rL |  j d k	 rL | j |  j ƒ  ƒ q	 W|  j  |  j f | | f k sz |  j d k r| j |  j ƒ  ƒ |  j  | k rÁ | j | t j t j	 t j
 g ƒ n  |  j | k r| j ƒ  \ } } | j t j | | d t ƒt j	 t j
 g ƒ qn  | S(   s5   Set clip rectangle. Calls self.pop() and self.push().R.  N(   t	   _cliprectt	   _clippathRF  Rg   Rb   RÕ  RÓ  RÓ   RŸ   RÏ   R—   t   get_transformed_path_and_affineRí   R/  R;   (   Rw   t   cliprectt   clippathR�  R  t   affine(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   clip_cmdZ  s    !%R[  R\  Rª  R©  R¨  t	   _capstyleR§  t
   _joinstyleRê  t   _dashesRW  RG  c   	      C  s=  g  } x0|  j  D]%\ } } t } x¥ | D]� } t |  | ƒ } t | | ƒ } y t | | k ƒ } WnV t k
 r» t j | ƒ } t j | ƒ } | j | j k pµ t j | | k ƒ } n X| r) Pq) q) W| r g  | D] } t | | ƒ ^ q× } | j	 | |  | Œ ƒ x* | D] } t
 |  | t | | ƒ ƒ qWq q W| S(   sy   
        Copy properties of other into self and return PDF commands
        needed to transform self into other.
        (   t   commandsR;   t   getattrRV   RS   RP   RÏ  RB  t   anyRb   t   setattr(	   Rw   R¸  R�  t   paramst   cmdt	   differentt   pt   ourst   theirs(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR«  |  s(    +"$c         C  s,   t  j |  | ƒ | j |  _ | j |  _ d S(   s5   
        Copy properties of other into self.
        N(   R   R  R§  R¨  (   Rw   R¸  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR  —  s    c         C  s3   g  } x& |  j  d k	 r. | j |  j ƒ  ƒ q	 W| S(   sB   
        Make sure every pushed graphics state is popped.
        N(   RF  Rg   Rb   RÕ  (   Rw   R�  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR¦  Ÿ  s    (   s	   _cliprects	   _clippath(   s   _alphas   _forced_alphas   _effective_alphas(   Rb  (   s
   _fillcolor(   Rc  (   s
   _linewidth(   Rd  (   s   _rgb(   s   _hatch(   R}   R~   Rx   Ry   RÖ   RÕ   RI  RÌ  Rt  R>  RO  RP  RQ  RT  RW  RY  RZ  RX  RÓ  RÕ  Ra  Re  R«  R  R¦  (    (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR=  ã  s>   																											c         O  s.   | j  d t ƒ } | | | Ž  } t |  | ƒ S(   s.   
    Create a new figure manager instance
    t   FigureClass(   RÕ  R   t   new_figure_manager_given_figure(   R  RH  t   kwargsRo  t   thisFig(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   new_figure_manager°  s    c         C  s   t  | ƒ } t | |  ƒ } | S(   sD   
    Create a new figure manager instance for the given figure.
    (   t   FigureCanvasPdft   FigureManagerPdf(   R  t   figuret   canvast   manager(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRp  ½  s    t   PdfPagesc           B  sV   e  Z d  Z d	 Z d „  Z d „  Z d „  Z d „  Z d „  Z d
 d „ Z
 d „  Z RS(   sÕ  
    A multi-page PDF file.

    Use like this::

        # Initialize:
        with PdfPages('foo.pdf') as pdf:

            # As many times as you like, create a figure fig and save it:
            # When no figure is specified the current figure is saved
            pdf.savefig(fig)
            pdf.savefig()

    (In reality PdfPages is a thin wrapper around PdfFile, in order to
    avoid confusion when using savefig and forgetting the format
    argument.)
    t   _filec         C  s   t  | ƒ |  _ d S(   sÂ   
        Create a new PdfPages object that will be written to the file
        named *filename*. The file is opened at once and any older
        file with the same name is overwritten.
        N(   Rí   Rz  (   Rw   R*  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRx   Ù  s    c         C  s   |  S(   N(    (   Rw   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt	   __enter__á  s    c         C  s   |  j  ƒ  d  S(   N(   RO  (   Rw   t   exc_typet   exc_valt   exc_tb(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   __exit__ä  s    c         C  s   |  j  j ƒ  d |  _  d S(   s_   
        Finalize this object, making the underlying file a complete
        PDF file.
        N(   Rz  RO  Rg   (   Rw   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRO  ç  s    c         C  s
   |  j  j S(   s™   
        Return a modifiable information dictionary object
        (see PDF reference section 10.2.1 'Document Information
        Dictionary').
        (   Rz  R  (   Rw   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   infodictï  s    c         K  s—   t  | t ƒ r( | j |  d d | �nk | d k rC t j ƒ  } n t j | ƒ } | d k rw t d t | ƒ ƒ ‚ n | j	 j
 j |  d d | �d S(   s  
        Save the Figure instance *figure* to this file as a new page.
        If *figure* is a number, the figure instance is looked up by
        number, and if *figure* is None, the active figure is saved.
        Any other keyword arguments are passed to Figure.savefig.
        t   formatt   pdfs   No such figure: N(   RN   R   t   savefigRg   R   t
   get_activet   get_fig_managerRS   R  Rw  Rv  (   Rw   Rv  Rq  t   figureManager(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRƒ  ÷  s    c         C  s   t  |  j j ƒ S(   sP   
        Returns the current number of pages in the multipage pdf file.
        (   R.   Rz  R  (   Rw   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   get_pagecount
	  s    (   s   _fileN(   R}   R~   R   R‡   Rx   R{  R  RO  R€  Rg   Rƒ  R‡  (    (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRy  Å  s   					Rt  c           B  s6   e  Z d  Z d „  Z i d d 6Z d „  Z d „  Z RS(   s®   
    The canvas the figure renders into.  Calls the draw and print fig
    methods, creates the renderers, etc...

    Public attribute

      figure - A Figure instance
    c         C  s   d  S(   N(    (   Rw   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   draw	  s    s   Portable Document FormatR‚  c         C  s   d S(   NR‚  (    (   Rw   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   get_default_filetype	  s    c   	      K  sö   | j  d d ƒ } |  j j d ƒ |  j j ƒ  \ } } t | t ƒ rR | j } n t | ƒ } zj | j | | ƒ | j	 d d  ƒ } t |  j | | | t | | ƒ d | ƒ} |  j j | ƒ | j ƒ  Wd  t | t ƒ rç | j ƒ  n
 | j ƒ  Xd  S(   Nt   dpiiH   t   bbox_inches_restore(   R_  Rv  t   set_dpit   get_size_inchesRN   Ry  Rz  Rí   RB  RÕ  Rg   R   R   Rˆ  R¦  R8  RO  (	   Rw   R*  Rq  R¤  R9  R:  R|   t   _bbox_inches_restoreR:  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt	   print_pdf"	  s"    		(   R}   R~   R   Rˆ  t	   filetypesR‰  R�  (    (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRt  	  s
   		Ru  c           B  s   e  Z RS(    (   R}   R~   (    (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRu  8	  s   (j   R   t
   __future__R    R   R\   R
  Rˆ   R‰  Ri   R†  Rß   t   numpyRP   t   version_infot   ioR   t	   cStringIOR   R   t   mathR   R   R   R   R	   RÍ  t	   NameErrort   setsR
   R`  R   R   R   t   matplotlib._pylab_helpersR   t   matplotlib.backend_basesR   R   R   R   t!   matplotlib.backends.backend_mixedR   t   matplotlib.cbookR   R   R   R   R   R   t   matplotlib.mlabR   t   matplotlib.figureR   t   matplotlib.font_managerR   R   t   matplotlib.afmR   t   matplotlib.type1fontR‰  t   matplotlib.dvireadR„  t   matplotlib.ft2fontR   R    R!   R"   R#   R$   t   matplotlib.mathtextR%   t   matplotlib.transformsR&   R'   R(   R)   t   matplotlib.pathR*   R+   R9   R‰   R_   R?   R@   R†  Ru   Rd   R‹   Ra   t   _pdfopsRc   R€   RR  RÓ   R×   Ru  RØ   Rí   R   R=  Rs  Rp  Ry  Rt  Ru  t   FigureManager(    (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt   <module>   sš   (".."3		R	4		Jÿ ÿ ÿ ÿ ÿ ÿ OÍ		K(