ó
Þ‡GTc           @   sŒ  d  d l  Z  y d  d l j j Z Wn n Xd  d l Z d  d l j j Z d  d l	 j j
 Z
 e j ƒ  d Z d Z d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d	 „  ƒ  YZ d
 „  Z d e f d „  ƒ  YZ d d e e e d d d i  d d „
 Z d d e e e d d d d i  d „
 Z d d e e e d d „ Z i  Z d „  Z i  Z i  Z d „  Z d „  Z d „  Z d e f d „  ƒ  YZ  d S(   iÿÿÿÿNiÿ   i    t	   ImageFontc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   s  g  } | s | Sx§ | D]Ÿ } t  j ƒ  } t | ƒ | _ |  j | _ |  j | _ |  j j | d  ƒ } | d  k r‰ t
 d j | ƒ ƒ ‚ n  |  j | | _ |  j | | _ | j | ƒ q WxY t t | ƒ d ƒ D]A } |  j j | | | | d |  j ƒ } | | j | 7_ qÑ W| S(   Ns.   Character {0!r} not found in image-based font.i   (   t   textsupportt   Glypht   ordt	   charactert   heightt   ascentt   line_spacingt   widtht   gett   Nonet	   Exceptiont   formatt   advancet   appendt   ranget   lent   kernst   default_kern(   t   selft   st   rvt   ct   gR   t   it   kern(    (    s_   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\text\font.pyt   glyphs8   s$    (c         C   s   | S(   N(    (   R   R   t   bounds(    (    s_   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\text\font.pyR   V   s    c	         C   sý   | d  k r d  Sxæ | D]Þ }	 t |	 j ƒ }
 |  j |
 \ } } |	 j | | } |	 j | | |	 j } |  j |
 } t j	 j
 rß | t k s™ | t k rß t j j j | j ƒ  t ƒ } t j j j | | | | ƒ | } qß n  | j | | | f ƒ q Wd  S(   N(   R
   t   unichrR   t   offsetst   xt   yR   t   charst   renpyt   configt   recolor_sfontst   WHITEt   BLACKt   displayt   pgrendert   surfacet   get_sizet   Truet   modulet   twomapt   blit(   R   t   targett   xot   yot   colorR   t	   underlinet   strikethrought   black_colorR   R   t   cxot   cyoR   R   t	   char_surft   new_surf(    (    s_   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\text\font.pyt   drawY   s    (   t   __name__t
   __module__R   R   R9   (    (    (    s_   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\text\font.pyR    &   s   		t   SFontc           B   s   e  Z d  „  Z d „  Z RS(   c         C   sD   t  t |  ƒ j ƒ  | |  _ | |  _ | |  _ | |  _ | |  _ d  S(   N(   t   superR<   t   __init__t   filenamet
   spacewidthR   R   t   charset(   R   R?   R@   R   R   RA   (    (    s_   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\text\font.pyR>   s   s    				c         C   sÖ  i  |  _  i  |  _ i  |  _ i  |  _ t j j j |  j ƒ j	 d t
 ƒ } | j ƒ  \ } } | } | |  _ | |  _ t j j j |  j | f t
 ƒ |  j  d <|  j |  j d <|  j |  j d <d |  j d <t j j j d | f t
 ƒ |  j  d <d |  j d <d |  j d <d	 |  j d <|  j  d |  j  d <|  j d |  j d <|  j d |  j d <|  j d |  j d <d } x= t
 r¨| j | d f ƒ } | d d k r›Pn  | d 7} qlWd } x | | k  rÑ| t |  j ƒ k  rÑ| j | d f ƒ | k rÄ| } | d 7} x9 | | k  r9| j | d f ƒ | k r,Pn  | d 7} qW|  j | }	 | d 7} | j | d | | | f ƒ }
 t j j j |
 ƒ }
 |
 |  j  |	 <| | |  j |	 <| | |  j |	 <d
 |  j |	 <n  | d 7} q²Wd  S(   Nt   unscaledu    i    u   â€‹u   Â i   i   (   i    i    (   i    i    (   i    i    (   R    R   R   R   R!   R&   t   imt   ImageR?   t   loadR*   R)   R   t   baselineR'   R(   R@   t   get_atR   RA   t
   subsurfacet   scalet   surface_scale(   R   t   surft   swt   shR   R   t   keyt   cit   startR   t   ss(    (    s_   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\text\font.pyRE   ‚   sZ    				$		(%	$

(   R:   R;   R>   RE   (    (    (    s_   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\text\font.pyR<   q   s   	t	   MudgeFontc           B   s   e  Z d  „  Z d „  Z RS(   c         C   sD   t  t |  ƒ j ƒ  | |  _ | |  _ | |  _ | |  _ | |  _ d  S(   N(   R=   RR   R>   R?   t   xmlR@   R   R   (   R   R?   RS   R@   R   R   (    (    s_   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\text\font.pyR>   È   s    				c         C   s§  i  |  _  i  |  _ i  |  _ i  |  _ t j j j |  j ƒ j	 d t
 ƒ } t j t j j	 |  j ƒ j ƒ  ƒ } d } x| j d ƒ D]ö } t | j d ƒ } | d k  r­ q‚ n  t | ƒ } t | j d ƒ } t | j d ƒ } t | j d ƒ }	 t | j d ƒ }
 | j | | |	 |
 f ƒ } t j j j | ƒ } | |  j  | <|	 |  j | <|	 |  j | <d |  j | <t | |
 ƒ } q‚ W| |  _ | |  _ d	 |  j  k rõt j j j |  j | f t
 ƒ |  j  d	 <|  j |  j d	 <|  j |  j d	 <d |  j d	 <n  d
 |  j  k rW|  j  d	 |  j  d
 <|  j d	 |  j d
 <|  j d	 |  j d
 <|  j d	 |  j d
 <n  t j j j d | f t
 ƒ |  j  d <d |  j d <d |  j d <d |  j d <d  S(   NRB   i    t   chart   idR   R   R   R   u    u   Â u   â€‹(   i    i    (   i    i    (   i    i    (   R    R   R   R   R!   R&   RC   RD   R?   RE   R*   t   etreet
   fromstringt   loaderRS   t   readt   findallt   intt   attribR   RH   RI   RJ   t   maxR   RF   R'   R(   R@   (   R   RK   t   treeR   t   eRT   R   R   R   t   wt   hRQ   (    (    s_   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\text\font.pyRE   ×   sN    				$$		(%(   R:   R;   R>   RE   (    (    (    s_   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\text\font.pyRR   Æ   s   	c         C   s×   d } g  } t  } x„ |  D]| } | d k s | d k r= q n  | d k rr | rr | r | j | ƒ d } q q n  | d k r‹ | } q n  | | 7} q W| r¯ | j | ƒ n  t d „  | d Dƒ ƒ } | d | f S(	   Nt    s   s   
t    s   "c         s   s!   |  ] } | j  d  d ƒ Vq d S(   t   =i   N(   t   split(   t   .0R   (    (    s_   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\text\font.pys	   <genexpr>-  s    i   i    (   t   FalseR   t   dict(   t   lR`   t   linet   quoteR   t   map(    (    s_   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\text\font.pyt   parse_bmfont_line  s&    	t   BMFontc           B   s   e  Z d  „  Z d „  Z RS(   c         C   s    t  t |  ƒ j ƒ  | |  _ d  S(   N(   R=   Rn   R>   R?   (   R   R?   (    (    s_   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\text\font.pyR>   2  s    c         C   sÁ  i  |  _  i  |  _ i  |  _ i  |  _ i  |  _ d |  _ i  } t j j |  j	 ƒ } x®| D]¦} t
 | ƒ \ } } | d k r¥ t | d ƒ |  _ t | d ƒ |  _ qX | d k rç t j j j | d ƒ j d t ƒ | t | d ƒ <qX | d	 k rX t t | d ƒ ƒ } t | d
 ƒ } t | d ƒ } t | d ƒ }	 t | d ƒ }
 t | d ƒ } t | d ƒ } t | d ƒ } t | d ƒ } | | j | | |	 |
 f ƒ } t j j j | ƒ } | |  j  | <|	 | |  j | <| |  j | <| | f |  j | <qX qX W| j ƒ  d |  j  k rn|  j  d |  j  d <|  j d |  j d <|  j d |  j d <|  j d |  j d <n  t j j j d |  j f t ƒ |  j  d <d |  j d <d |  j d <d |  j d <d  S(   Ni    t   commont
   lineHeightt   baset   paget   fileRB   RU   RT   R   R   R   R   t   xoffsett   yoffsett   xadvanceu   Â u    u   â€‹(   i    i    (   R    R   R   R   R   R   R!   RX   RE   R?   Rm   R[   R   RF   R&   RC   RD   R*   R   RH   RI   RJ   t   closeR'   R(   (   R   t   pagest   fRi   t   kindt   argsR   R   R   R`   Ra   R/   R0   Rv   Rr   RQ   (    (    s_   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\text\font.pyRE   7  sR    						6
((   R:   R;   R>   RE   (    (    (    s_   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\text\font.pyRn   0  s   	i
   u^   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~c
         C   se   |  d  k s$ | d  k s$ | d  k r3 t d ƒ ‚ n  t | | | | |	 ƒ }
 |
 t |  | | | f <d  S(   NsO   When registering an SFont, the font name, font size, and filename are required.(   R
   R   R<   t   image_fonts(   t   namet   sizet   boldt   italicsR2   R?   R@   R   R   RA   t   sf(    (    s_   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\text\font.pyt   register_sfontn  s    2$c
      	   C   sq   |  d  k s0 | d  k s0 | d  k s0 | d  k r? t d ƒ ‚ n  t | | | | |	 ƒ }
 |
 t |  | | | f <d  S(   Nsa   When registering a Mudge Font, the font name, font size, filename, and xml filename are required.(   R
   R   RR   R|   (   R}   R~   R   R€   R2   R?   RS   R@   R   R   t   mf(    (    s_   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\text\font.pyt   register_mudgefont¦  s    00c         C   s&   t  | ƒ } | t |  | | | f <d  S(   N(   Rn   R|   (   R}   R~   R   R€   R2   R?   t   bmf(    (    s_   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\text\font.pyt   register_bmfontÜ  s    'c   
      C   s˜  |  t  k r t  |  S|  } d } d |  k rS |  j d d ƒ \ } }  t | ƒ } n  d  } y t j j |  ƒ } Wnâ t k
 rSg  |  j d ƒ D] } | j ƒ  j	 ƒ  ^ q } t
 j j ƒ  x— t
 j j j ƒ  D] } | d  k	 rBx` | j ƒ  D]O \ } } x6 | D]. } | j	 ƒ  j | ƒ rÿ t | d ƒ } Pqÿ qÿ W| rì Pqì qì Wn  | rÍ PqÍ qÍ Wn X| d  k rxt d j | ƒ ƒ ‚ n  t j | | ƒ }	 |	 t  | <|	 S(   Ni    t   @i   t   ,t   rbs   Could not find font {0!r}.(   t
   face_cacheRe   R[   R
   R!   RX   RE   t   IOErrort   stript   lowert   pygamet   sysfontt   initsysfontst   Sysfontst
   itervaluest	   iteritemst   endswithRs   R   R   t   ftfontt   FTFace(
   t   fnt   orig_fnt   indext	   font_fileR   t   fontst   vt   _flagst   ffnR   (    (    s_   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\text\font.pyt	   load_face	  s:    .
c         C   s÷   |  | | f } t  j j j | | ƒ \ }  } } t j |  | | | f d  ƒ } | d  k	 r^ | S| r‚ |  | | | | | t f }	 n |  | | | | | f }	 t j |	 d  ƒ } | d  k	 r¼ | St |  ƒ }
 t	 j
 |
 | | | | | | ƒ } | t |	 <| S(   N(   R!   R"   t   font_replacement_mapR	   R|   R
   R*   t
   font_cacheRŸ   R•   t   FTFont(   R—   R~   R   R€   t   outlinet	   antialiast   verticalt   tR   RN   t   face(    (    s_   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\text\font.pyt   get_font>  s    !!
c           C   s   t  j ƒ  t j ƒ  d  S(   N(   R¡   t   clearRŠ   (    (    (    s_   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\text\font.pyt   free_memoryY  s    
c          C   s%   x t  j ƒ  D] }  |  j ƒ  q Wd  S(   N(   R|   R’   RE   (   R   (    (    s_   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\text\font.pyt   load_image_fontsa  s    t	   FontGroupc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   s   g  |  _  i  |  _ g  |  _ d  S(   N(   R›   t   cachet   patterns(   R   (    (    s_   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\text\font.pyR>   n  s    		c         C   s¨   t  | t ƒ s t | ƒ } n  t  | t ƒ s< t | ƒ } n  | | k  rW t d ƒ ‚ n  | |  j k ry |  j j | ƒ n  |  j j | ƒ } |  j j | | | f ƒ |  S(   NsU   In FontGroup.add, the start of a character range must be before the end of the range.(   t
   isinstanceR[   R   R   R›   R   R™   R®   (   R   t   fontRP   t   endR™   (    (    s_   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\text\font.pyt   addy  s    c         c   s  d } d } d } |  j  } xÞ | D]Ö } | j | d  ƒ } | d  k r± t | ƒ } xO |  j D]/ \ } }	 }
 |	 | k o‚ |
 k n r\ Pq\ q\ Wt d j | ƒ ƒ ‚ | | | <n  | | k rî | rß |  j | | | | !f Vn  | } | } n  | d 7} q" W|  j | | | f Vd  S(   Ni    s*   Character U+{0:04x} not found in FontGroupi   (   R­   R	   R
   R   R®   R   R   R›   (   R   R   t   markt   post	   old_indexR­   R   R™   t   nRP   R±   (    (    s_   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\text\font.pyt   segment   s(    		(   R:   R;   R>   R²   R·   (    (    (    s_   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\text\font.pyR¬   f  s   		'(   iÿ   iÿ   iÿ   iÿ   (   i    i    i    iÿ   (!   RŽ   t   xml.etree.ElementTreeRV   t   ElementTreet   renpy.displayR!   t   renpy.text.ftfontt   textR•   t   renpy.text.textsupportR   t   initR$   R%   t   objectR    R<   RR   Rm   Rn   R
   Rg   R‚   R„   R†   RŠ   RŸ   R|   R¡   R¨   Rª   R«   R¬   (    (    (    s_   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\text\font.pyt   <module>   s<   
KUN	>65*	2			