î
úÙ X  ã               @   s”   d  d l  m Z d  d l  m Z i d d 6d d 6d d 6d	 d
 6d d 6d d 6Z i d d 6d d 6d d 6Z d d „  Z Gd d „  d e j ƒ Z d S)é    )ÚImage)ÚFontFileZRomanÚRZItalicÚIZObliqueÚOzReverse ItalicZRIzReverse ObliqueZROZOtherZOTZProportionalÚPZ
MonospacedÚMZCellÚCc             C   s"  x4 |  j  ƒ  } | s d  S| d  d … d k r Pq q W| d d  … j ƒ  j d ƒ } i  } xt |  j  ƒ  } | sˆ | d  d … d k rŒ Pn  | j d ƒ } | | d d … j d ƒ | | d  | … j d ƒ <q_ Wg  } xH |  j  ƒ  } | s| d  d … d	 k r	Pn  | j | d  d … ƒ qÜ Wd
 j | ƒ } d d „  | d j ƒ  Dƒ \ } } } }	 d d „  | d j ƒ  Dƒ \ }
 } |
 | f | |	 | | | |	 f d d | | f f } y% t j d | | f | d d ƒ } Wn* t	 k
 rt j
 d | | f ƒ } Yn X| t | d ƒ | | f S)Né	   s	   STARTCHARÚasciié   s   BITMAPó    é   é   s   ENDCHARó    c             S   s   g  |  ] } t  | ƒ ‘ q S© )Úint)Ú.0Úpr   r   úL/home/ubuntu/projects/ifolica/lib/python3.4/site-packages/PIL/BdfFontFile.pyú
<listcomp>H   s   	 zbdf_char.<locals>.<listcomp>ZBBXc             S   s   g  |  ] } t  | ƒ ‘ q Sr   )r   )r   r   r   r   r   r   I   s   	 ZDWIDTHr   Ú1ÚhexÚENCODINGéÿÿÿÿr   )ÚreadlineÚstripÚdecodeÚfindÚappendÚjoinÚsplitr   Z	frombytesÚ
ValueErrorÚnewr   )ÚfÚsÚidÚpropsÚiZbitmapÚxÚyÚlÚdZdxZdyZbboxÚimr   r   r   Úbdf_char,   s:    8)#7%r.   c               @   s   e  Z d  Z d d „  Z d S)ÚBdfFontFilec             C   s–  t  j  j |  ƒ | j ƒ  } | d  d … d k rA t d ƒ ‚ n  i  } g  } xÉ | j ƒ  } | sy | d  d … d k r} Pn  | j d ƒ } | | d d … j d ƒ | | d  | … j d ƒ <| d  | … d k rP | j d
 ƒ d k  r| j | | d d … j d ƒ ƒ qqP qP Wxv t | ƒ } | s2Pn  | \ } } \ }	 }
 } } d | k omt |  j	 ƒ k  n r|	 |
 | | f |  j	 | <qqWd  S)Né   s   STARTFONT 2.1znot a valid BDF files   ENDPROPERTIESr   r   r   ó   COMMENTó	   COPYRIGHTs   LogicalFontDescriptionr   r   )r1   r2   r   )
r   Ú__init__r   ÚSyntaxErrorr   r   r   r.   ÚlenZglyph)ÚselfÚfpr%   r'   Úcommentsr(   Úcr&   ÚchZxyÚdstÚsrcr-   r   r   r   r3   [   s,    4.%zBdfFontFile.__init__N)Ú__name__Ú
__module__Ú__qualname__r3   r   r   r   r   r/   Y   s   r/   N)ZPILr   r   Z	bdf_slantZbdf_spacingr.   r/   r   r   r   r   Ú<module>   s   

-