
     #eo                       d Z ddlmZ ddlmZmZmZmZmZm	Z	m
Z
 ddlmZmZmZ ddlmZ  e
de      Z	 	 	 	 	 	 d,dZe G d	 d
e             Ze G d de             Ze G d de             Z	 	 	 	 d-dZe G d de             Ze G d de             Z	 	 	 	 	 	 	 	 d.dZ	 	 	 	 d/dZe G d de             Ze G d de             Ze G d de             Ze G d de             Ze G d de             Ze G d  d!e             Z e G d" d#e             Z!	 	 	 	 d0d$Z"	 	 	 	 d1d%Z#e G d& d'e             Z$	 	 	 	 d2d(Z%e G d) d*e             Z&y+)3ztFontinfo.plist fields for WOFF 1.0 metadata.

https://unifiedfontobject.org/versions/ufo3/fontinfo.plist/#woff-data
    )annotations)AnyListMappingOptionalSequenceTypeTypeVar)	Attributedefinefield)AttrDictMixin_T)boundc                J    |D cg c]  }| j                  |       c}S c c}w N)coerce_from_dict)clsvaluesvs      ;/usr/lib/python3/dist-packages/ufoLib2/objects/info/woff.py_convert_list_of_woff_metadatar      s#     .44C  #444s    c                      e Zd ZU ded<   y)WoffMetadataUniqueIDstridN)__name__
__module____qualname____annotations__     r   r   r      s    Gr"   r   c                  V    e Zd ZU ded<   dZded<   dZded<    edddi	      Zded
<   y)WoffMetadataVendorr   nameNOptional[str]urldirrename_attrclassdefaultmetadataclass_)r   r   r   r    r'   r(   r   r.   r!   r"   r   r$   r$      s1    
ICC!$-9QRFMRr"   r$   c                  d    e Zd ZU ded<   dZded<   dZded<   dZded<    eddd	i
      Zded<   y)WoffMetadataCreditr   r%   Nr&   r'   roler(   r)   r*   r+   r.   )	r   r   r   r    r'   r1   r(   r   r.   r!   r"   r   r0   r0   $   s;    
ICD-C!$-9QRFMRr"   r0   c                "    t        t        |       S r   )r   r0   values    r   &_convert_list_of_woff_metadata_creditsr5   -   s     **<eDDr"   c                  ,    e Zd ZU  eee      Zded<   y)WoffMetadataCreditsfactory	converterzList[WoffMetadataCredit]creditsN)r   r   r   r   listr5   r;   r    r!   r"   r   r7   r7   3   s    (-8)G% r"   r7   c                  V    e Zd ZU ded<   dZded<   dZded<    edddi	      Zded
<   y)WoffMetadataTextr   textNr&   languager(   r)   r*   r+   r.   r   r   r   r    r@   r(   r   r.   r!   r"   r   r>   r>   ;   1    
I"Hm"C!$-9QRFMRr"   r>   c                ~    t        |      dk(  r/t        | j                  j                   d|j                   d      y )Nr   .z must contain at list 1 item)len
ValueError	__class__r   r%   )self	attributer4   s      r   _at_least_one_itemrJ   C   sB     5zQ~~&&'q(88TU
 	
 r"   c                "    t        t        |       S r   )r   r>   r3   s    r   $_convert_list_of_woff_metadata_textsrL   L   s     **:EBBr"   c                  <    e Zd ZU dZded<    eeee      Z	ded<   y)WoffMetadataDescriptionNr&   r'   r9   	validatorr:   List[WoffMetadataText]r?   )
r   r   r   r'   r    r   r<   rJ   rL   r?   r!   r"   r   rN   rN   R   s'    C#($6$D
  r"   rN   c                  H    e Zd ZU dZded<   dZded<    eee      Z	ded<   y)WoffMetadataLicenseNr&   r'   r   r8   rQ   r?   )
r   r   r   r'   r    r   r   r<   rL   r?   r!   r"   r   rS   rS   \   s.    CB#(6$D
  r"   rS   c                  .    e Zd ZU  eeee      Zded<   y)WoffMetadataCopyrightrO   rQ   r?   N	r   r   r   r   r<   rJ   rL   r?   r    r!   r"   r   rU   rU   f       #($6$D
  r"   rU   c                  .    e Zd ZU  eeee      Zded<   y)WoffMetadataTrademarkrO   rQ   r?   NrV   r!   r"   r   rY   rY   o   rW   r"   rY   c                  H    e Zd ZU ded<   dZded<    edddi      Zded	<   y)
WoffMetadataLicenseer   r%   Nr&   r(   r)   r*   r+   r.   )r   r   r   r    r(   r   r.   r!   r"   r   r[   r[   x   s'    
IC!$-9QRFMRr"   r[   c                  V    e Zd ZU ded<   dZded<   dZded<    edddi	      Zded
<   y)WoffMetadataExtensionNamer   r?   Nr&   r@   r(   r)   r*   r+   r.   rA   r!   r"   r   r]   r]      rB   r"   r]   c                  V    e Zd ZU ded<   dZded<   dZded<    edddi	      Zded
<   y)WoffMetadataExtensionValuer   r?   Nr&   r@   r(   r)   r*   r+   r.   rA   r!   r"   r   r_   r_      rB   r"   r_   c                "    t        t        |       S r   )r   r]   r3   s    r   -_convert_list_of_woff_metadata_extension_namera           **CUKKr"   c                "    t        t        |       S r   )r   r_   r3   s    r   ._convert_list_of_woff_metadata_extension_valuerd      s     **DeLLr"   c                  b    e Zd ZU dZded<    eeee      Z	ded<    eeee
ddi	      Zd
ed<   y)WoffMetadataExtensionItemNr&   r   rO   List[WoffMetadataExtensionName]namesr)   r   r9   rP   r:   r-   z List[WoffMetadataExtensionValue]values_)r   r   r   r   r    r   r<   rJ   ra   rh   rd   rj   r!   r"   r   rf   rf      sL    B-2$?.E*  16$@*	1G- r"   rf   c                "    t        t        |       S r   )r   rf   r3   s    r   -_convert_list_of_woff_metadata_extension_itemrl      rb   r"   c                  \    e Zd ZU ded<    eee      Zded<    eeee	ddi      Z
d	ed
<   y)WoffMetadataExtensionr&   r   r8   rg   rh   r)   itemsri   zList[WoffMetadataExtensionItem]items_N)r   r   r   r    r   r<   ra   rh   rJ   rl   rp   r!   r"   r   rn   rn      sE    -2?.E* 
 /4$?)	/F+ r"   rn   N)r   zType[_T]r   z Sequence[_T | Mapping[str, Any]]returnzlist[_T])r4   z,list[WoffMetadataCredit | Mapping[str, Any]]rq   zlist[WoffMetadataCredit])rH   r   rI   zAttribute[Any]r4   zSequence[Any]rq   None)r4   z*list[WoffMetadataText | Mapping[str, Any]]rq   zlist[WoffMetadataText])r4   z3list[WoffMetadataExtensionName | Mapping[str, Any]]rq   zlist[WoffMetadataExtensionName])r4   z4list[WoffMetadataExtensionValue | Mapping[str, Any]]rq   z list[WoffMetadataExtensionValue])r4   z3list[WoffMetadataExtensionItem | Mapping[str, Any]]rq   zlist[WoffMetadataExtensionItem])'__doc__
__future__r   typingr   r   r   r   r   r	   r
   attrsr   r   r   ufoLib2.objects.miscr   r   r   r   r$   r0   r5   r7   r>   rJ   rL   rN   rS   rU   rY   r[   r]   r_   ra   rd   rf   rl   rn   r!   r"   r   <module>rx      ss   # H H H * * .T'5	5;55 =   S S S S S SE7EE -   S} S S


(
1>
	
C5CC m   -   M   M   S= S S S S S S S SL>L$LM?M%M    L>L$L M  r"   