U
    e                     @   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lineZnumname r   0lib/python3.8/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 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   