B
    Sc                 @   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   s^   t |  }i }xH|D ]@}|s q|dd d \}}|d dkrDqt|d}|||< qW |S )N;       <   )iter	readlinessplitint)flinesZunicodeslineZnumname r   0lib/python3.7/site-packages/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 d 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$   y
| j | S  tk
r   dS X d S )Nz????)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   sR   ydd l }W n tk
r(   dd l}Y nX y|t|S  tk
rL   dS X d S )Nr   z????)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 )N)r   Unicode)r
   r   r   r   setUnicodeData-   s    r%   N)r   objectr   r   r$   r%   r   r   r   r   <module>   s   