U
    Dvf                     @   s:   d d Z G dd deZG dd deZe add ZdS )	c                 C   sZ   t |  }i }|D ]@}|sq|dd d \}}|d dkrBqt|d}|||< q|S )N;       <   )iter	readlinessplitint)flinesZunicodeslinenumname r   5/tmp/pip-unpacked-wheel-qlge9rch/fontTools/unicode.py_makeunicodes   s    

r   c                   @   s   e Zd Zdd Zdd ZdS )_UnicodeCustomc              	   C   s:   t |tr(t|}t|}W 5 Q R X nt|}|| _d S N)
isinstancestropenr   codes)selfr
   fdr   r   r   r   __init__   s
    

z_UnicodeCustom.__init__c                 C   s(   z| j | W S  tk
r"   Y dS X d S )N????)r   KeyError)r   charCoder   r   r   __getitem__   s    z_UnicodeCustom.__getitem__N)__name__
__module____qualname__r   r   r   r   r   r   r      s   r   c                   @   s   e Zd Zdd ZdS )_UnicodeBuiltinc                 C   sV   zdd l }W n tk
r(   dd l}Y nX z|t|W S  tk
rP   Y dS X d S )Nr   r   )Zunicodedata2ImportErrorunicodedatar   chr
ValueError)r   r   r$   r   r   r   r       s    z_UnicodeBuiltin.__getitem__N)r   r    r!   r   r   r   r   r   r"      s   r"   c                 C   s   t | ad S r   )r   Unicode)r
   r   r   r   setUnicodeData0   s    r(   N)r   objectr   r"   r'   r(   r   r   r   r   <module>   s   