+
    Zi9                    H   ^ RI Ht ^ RIHt ^ RIHt ^ RIHtHtH	t	H
t
HtHtHt ^ RIt^ RIHtHt ^ RIHt ^ RIHt ^ R	IHt ^ R
IHt ^RIHtHtHtHtHtHtH t H!t!H"t"H#t#H$t$H%t%H&t&H't' R.t(R R lt)]PT                  PW                  ])4      t, ! R R]4      t-R R lt.] ! R R]4      4       t/] ! R R]4      4       t0 ! R R]4      t1]! R]R7      t2R R lt3R R lt4R R  lt5R! R" lt6R# R$ lt7R% R& lt8R/R' R( llt9R/R) R* llt:R/R+ R, llt;]] ! R- R4      4       4       t<R# )0    )annotations)IntEnum)partial)AnyCallableListMappingOptionalSequenceTypeVarN)definefield)	UFOReader)	Guideline)AttrDictMixin)serde)WoffMetadataCopyrightWoffMetadataCreditWoffMetadataCreditsWoffMetadataDescriptionWoffMetadataExtensionWoffMetadataExtensionItemWoffMetadataExtensionNameWoffMetadataExtensionValueWoffMetadataLicenseWoffMetadataLicenseeWoffMetadataTextWoffMetadataTrademarkWoffMetadataUniqueIDWoffMetadataVendorInfoGaspRangeRecord
NameRecord
WidthClassc               (    V ^8  d   QhRRRRRRRR/# )   instancer   	attributevalueintreturnNone )formats   "?/usr/lib/python3/dist-packages/ufoLib2/objects/info/__init__.py__annotate__r0   6   s(     
 
 
 
C 
D 
    c                `    V^ 8  d'   \        RP                  VP                  VR7      4      hR# )r   z+'{name}' must be at least 0 (got {value!r}))namer)   N)
ValueErrorr.   r3   )r'   r(   r)   s   &&&r/   	_positiver5   6   s8    qy9@@^^5 A 
 	
 r1   c                  &    ] tR t^Ct^ t^t^t^tRtR# )GaspBehaviorr-   N)	__name__
__module____qualname____firstlineno__GRIDFITDOGRAYSYMMETRIC_GRIDFITSYMMETRIC_SMOOTHING__static_attributes__r-   r1   r/   r7   r7   C   s    GFr1   r7   c                    V ^8  d   QhRRRR/# )r&   seqzSequence[GaspBehavior | int]r+   zlist[GaspBehavior]r-   )r.   s   "r/   r0   r0   J   s      P P; P@R Pr1   c                r    V  Uu. uF&  p\        V\        4      '       d   TM
\        V4      NK(  	  up# u upi N)
isinstancer7   )rB   vs   & r/   _convert_GaspBehaviorrG   J   s/    KNO3aA|,,A,q/A3OOOs   ,4c                  P    ] tR t^Nt$ ]! ]R7      tR]R&   ]! ]R7      t	R]R&   Rt
R# )	r"   	validatorr*   rangeMaxPPEM)	converterzList[GaspBehavior]rangeGaspBehaviorr-   N)r8   r9   r:   r;   r   r5   rK   __annotations__rG   rM   r@   r-   r1   r/   r"   r"   N   s#    	2L#2,1<Q,R)Rr1   c                      ] tR t^Ut$ ]! ]R7      tR]R&   ]! ]R7      tR]R&   ]! ]R7      t	R]R&   ]! ]R7      t
R]R&   RtR]R	&   R
tR# )r#   rI   r*   nameID
platformID
encodingID
languageID strstringr-   N)r8   r9   r:   r;   r   r5   rP   rN   rQ   rR   rS   rV   r@   r-   r1   r/   r#   r#   U   sH    ),FC,i0J0i0J0i0J0FCr1   c                  >    ] tR t^^t^t^t^t^t^t^t	^t
^t^t^	tRtR# )r$   r-   N)r8   r9   r:   r;   ULTRA_CONDENSEDEXTRA_CONDENSED	CONDENSEDSEMI_CONDENSEDNORMALMEDIUMSEMI_EXPANDEDEXPANDEDEXTRA_EXPANDEDULTRA_EXPANDEDr@   r-   r1   r/   r$   r$   ^   s4    OOINFFMHNNr1   Tc)boundc               $    V ^8  d   QhRRRRRR/# )r&   clstype[Tc]lstz'Sequence[Tc | Mapping[str, Any]] | Noner+   zlist[Tc] | Noner-   )r.   s   "r/   r0   r0   n   s$     2 2	2?22r1   c                X    Vf   R # V Uu. uF  q P                  V4      NK  	  up# u upi rD   )coerce_from_dict)re   rg   ds   && r/   _convert_optional_list_of_dictsrk   n   s-     {-01S  #S111s   'c                    V ^8  d   QhRRRR/# )r&   valuesz.Sequence[Guideline | Mapping[str, Any]] | Noner+   list[Guideline] | Noner-   )r.   s   "r/   r0   r0   v   s     > >:>>r1   c                "    \        \        V 4      # rD   )rk   r   rm   s   &r/   _convert_guidelinesrq   v   s     +9f==r1   c                    V ^8  d   QhRRRR/# )r&   rm   z4Sequence[GaspRangeRecord | Mapping[str, Any]] | Noner+   list[GaspRangeRecord] | Noner-   )r.   s   "r/   r0   r0   |   s      D D@D!Dr1   c                "    \        \        V 4      # rD   )rk   r"   rp   s   &r/   _convert_gasp_range_recordsru   |   s     +?FCCr1   c                    V ^8  d   QhRRRR/# )r&   rm   z/Sequence[NameRecord | Mapping[str, Any]] | Noner+   list[NameRecord] | Noner-   )r.   s   "r/   r0   r0      s     ? ?;??r1   c                "    \        \        V 4      # rD   )rk   r#   rp   s   &r/   _convert_name_recordsry      s     +:v>>r1   c                    V ^8  d   QhRRRR/# )r&   r)   
int | Noner+   WidthClass | Noner-   )r.   s   "r/   r0   r0      s     8 8z 8.? 8r1   c                $    V f   R # \        V 4      # rD   )r$   )r)   s   &r/   _convert_WidthClassr~      s    =47j&77r1   c                    V ^8  d   QhRRRR/# )r&   rm   z:Sequence[WoffMetadataExtension | Mapping[str, Any]] | Noner+   z"list[WoffMetadataExtension] | Noner-   )r.   s   "r/   r0   r0      s      J JFJ'Jr1   c                "    \        \        V 4      # rD   )rk   r   rp   s   &r/   _convert_WoffMetadataExtensionsr      s     ++@&IIr1   c               (    V ^8  d   QhRRRRRRRR/# )	r&   re   z	type[Any]rL   zCallable[[Any], Any]r3   
str | Noner+   r   r-   )r.   s   "r/   r0   r0      s,     $ $	$3$;E$$r1   c                   aa Vf0   V P                   pRV^ ,          P                  4        VR,           2pVoR V3R llpR VV3R llp\        WE4      # )N_:   NNc                    V ^8  d   QhRRRR/# )r&   selfr   r+   r-   )r.   s   "r/   r0   0_converter_setter_property.<locals>.__annotate__   s     ( (S (S (r1   c                   < \        V S4      # rD   )getattr)r   	attr_names   &r/   getter*_converter_setter_property.<locals>.getter   s    tY''r1   c               $    V ^8  d   QhRRRRRR/# )r&   r   r   r)   r+   r,   r-   )r.   s   "r/   r0   r      s!     3 3S 3 3 3r1   c                .   < \        V SS! V4      4       R # rD   )setattr)r   r)   r   rL   s   &&r/   setter*_converter_setter_property.<locals>.setter   s    i5!12r1   )r8   lowerproperty)re   rL   r3   
class_namer   r   r   s   &f&   @r/   _converter_setter_propertyr      s\     |\\
:a=&&()*R.)9:I( (3 3 F##r1   c               $    V ^8  d   QhRRRRRR/# r&   re   rf   r3   r   r+   r   r-   )r.   s   "r/   r0   r0      s&     P Px Pz PS Pr1   c                .    \        W P                  V4      # rD   )r   coerce_from_optional_dictre   r3   s   &&r/   _dict_setter_propertyr      s    %c+H+H$OOr1   c               $    V ^8  d   QhRRRRRR/# r   r-   )r.   s   "r/   r0   r0      s!      H J # r1   c                8    \        V \        \        V 4      V4      # rD   )r   r   rk   r   s   &&r/   _dict_list_setter_propertyr      s    %W4c:D r1   c                  	   ] tR t^t$ RtRtR]R&   RtR]R&   RtR]R&   Rt	R]R&   ]
! R]R7      tR	]R
&   ]
! R]R7      tR	]R&   RtR]R&   RtR]R&   ]
! R]R7      tR]R&   RtR]R&   RtR]R&   RtR]R&   RtR]R&   RtR]R&   RtR]R&   ]
! R]R7      tR]R&   ]R R l4       t]P6                  R R l4       t]
! R]R7      tR]R&   ]R R  l4       t]P6                  R! R" l4       tRtR]R#&   ]
! R]R7      t R	]R$&   Rt!R%]R&&   Rt"R	]R'&   Rt#R	]R(&   Rt$R	]R)&   Rt%R	]R*&   Rt&R	]R+&   Rt'R	]R,&   Rt(R]R-&   Rt)R]R.&   Rt*R]R/&   Rt+R]R0&   Rt,R]R1&   Rt-R]R2&   Rt.R]R3&   Rt/R]R4&   Rt0R]R5&   Rt1R]R6&   Rt2R]R7&   Rt3R]R8&   Rt4R]R9&   Rt5R]R:&   Rt6R]R;&   ]
! R]7R7      t8R<]R=&   ]R> R? l4       t9]9P6                  R@ RA l4       t9]
! R]:R7      t;RB]RC&   ]RD RE l4       t<]<P6                  RF RG l4       t<]
! RRH7      t=R	]RI&   ]=P|                  RJ RK l4       t?Rt@R%]RL&   RtAR]RM&   RtBR%]RN&   RtCR%]RO&   RtDR%]RP&   RtER%]RQ&   RtFR	]RR&   RtGR	]RS&   RtHR	]RT&   ]
! R]R7      tIR	]RU&   ]
! R]R7      tJR	]RV&   RtKR%]RW&   RtLR	]RX&   RtMR	]RY&   RtNR	]RZ&   RtOR	]R[&   RtPR	]R\&   RtQR	]R]&   RtRR	]R^&   RtSR	]R_&   RtTR	]R`&   RtUR	]Ra&   RtVR	]Rb&   RtWR	]Rc&   RtXR	]Rd&   RtYR	]Re&   RtZR	]Rf&   Rt[R	]Rg&   Rt\R]Rh&   Rt]R]Ri&   Rt^R]Rj&   Rt_R	]Rk&   Rt`R]Rl&   RtaR]Rm&   RtbRn]Ro&   RtcRp]Rq&   RtdRp]Rr&   RteRp]Rs&   RtfRp]Rt&   RtgRp]Ru&   RthRp]Rv&   RtiR]Rw&   RtjR]Rx&   RtkR]Ry&   RtlRn]Rz&   RtmR]R{&   RtnR]R|&   RtoR]R}&   RtpR]R~&   RtqR	]R&   RtrR]R&   RtsR	]R&   RttR	]R&   ]
! R]R7      tuR	]R&   ]
! R]R7      tvR	]R&   ]
! R]wP                  R7      tyR]R&   ]z! ]w4      t{]
! R]|P                  R7      t}R]R&   ]z! ]|4      t~]
! R]P                  R7      tR]R&   ]z! ]4      t]
! R]P                  R7      tR]R&   ]z! ]4      t]
! R]P                  R7      tR]R&   ]z! ]4      t]
! R]P                  R7      tR]R&   ]z! ]4      t]
! R]P                  R7      tR]R&   ]z! ]4      t]
! R]P                  R7      tR]R&   ]z! ]4      t]
! R]R7      tR]R&   ]! ]R4      t]R R l4       tRtR# )r!   zA data class representing the contents of fontinfo.plist.

The attributes are formally specified at
http://unifiedfontobject.org/versions/ufo3/fontinfo.plist/. Value validation is
mostly done during saving and loading.
NzOptional[str]
familyName	styleNamestyleMapFamilyNamestyleMapStyleName)defaultrJ   zOptional[int]versionMajorversionMinor	copyright	trademarkzOptional[float]
unitsPerEm	descenderxHeight	capHeightascenderitalicAnglenote)r   rL   zOptional[List[Guideline]]_guidelinesc                   V ^8  d   QhRR/# )r&   r+   rn   r-   )r.   s   "r/   r0   Info.__annotate__   s        2  r1   c                	    V P                   # rD   )r   r   s   &r/   
guidelinesInfo.guidelines   s    r1   c                    V ^8  d   QhRRRR/# )r&   r)   rn   r+   r,   r-   )r.   s   "r/   r0   r      s     6 6 6 64 6r1   c                	&    \        V4      V n        R # rD   )rq   r   r   r)   s   &&r/   r   r      s    .u5r1   zOptional[List[GaspRangeRecord]]_openTypeGaspRangeRecordsc                   V ^8  d   QhRR/# )r&   r+   rs   r-   )r.   s   "r/   r0   r      s     . .*F .r1   c                	    V P                   # rD   )r   r   s   &r/   openTypeGaspRangeRecordsInfo.openTypeGaspRangeRecords   s    ---r1   c                    V ^8  d   QhRRRR/# )r&   r)   rs   r+   r,   r-   )r.   s   "r/   r0   r      s     L L.J Lt Lr1   c                	&    \        V4      V n        R # rD   )ru   r   r   s   &&r/   r   r      s    )DU)K&r1   openTypeHeadCreatedopenTypeHeadLowestRecPPEMzOptional[List[int]]openTypeHeadFlagsopenTypeHheaAscenderopenTypeHheaDescenderopenTypeHheaLineGapopenTypeHheaCaretSlopeRiseopenTypeHheaCaretSlopeRunopenTypeHheaCaretOffsetopenTypeNameDesigneropenTypeNameDesignerURLopenTypeNameManufactureropenTypeNameManufacturerURLopenTypeNameLicenseopenTypeNameLicenseURLopenTypeNameVersionopenTypeNameUniqueIDopenTypeNameDescriptionopenTypeNamePreferredFamilyName"openTypeNamePreferredSubfamilyNameopenTypeNameCompatibleFullNameopenTypeNameSampleTextopenTypeNameWWSFamilyNameopenTypeNameWWSSubfamilyNamezOptional[List[NameRecord]]_openTypeNameRecordsc                   V ^8  d   QhRR/# )r&   r+   rw   r-   )r.   s   "r/   r0   r     s     ) )%< )r1   c                	    V P                   # rD   )r   r   s   &r/   openTypeNameRecordsInfo.openTypeNameRecords  s    (((r1   c                    V ^8  d   QhRRRR/# )r&   r)   rw   r+   r,   r-   )r.   s   "r/   r0   r   	  s     A A)@ AT Ar1   c                	&    \        V4      V n        R # rD   )ry   r   r   s   &&r/   r   r     s    $9%$@!r1   zOptional[WidthClass]_openTypeOS2WidthClassc                   V ^8  d   QhRR/# )r&   r+   r|   r-   )r.   s   "r/   r0   r     s     + +'8 +r1   c                	    V P                   # rD   )r   r   s   &r/   openTypeOS2WidthClassInfo.openTypeOS2WidthClass  s    ***r1   c                    V ^8  d   QhRRRR/# )r&   r)   r|   r+   r,   r-   )r.   s   "r/   r0   r     s     T T+< T Tr1   c                	>    Vf	   Wn        R # \        V4      V n        R # rD   )r$   r   r   s   &&r/   r   r     s    /4}e#*UBS#r1   )r   openTypeOS2WeightClassc               $    V ^8  d   QhRRRRRR/# )r&   r(   r   r)   r{   r+   r,   r-   )r.   s   "r/   r0   r     s&     T T TJ T4 Tr1   c                	D    Ve   V^8  g   VR8  d   \        R4      hR # R # )Ni  z3'openTypeOS2WeightClass' must be between 1 and 1000)r4   )r   r(   r)   s   &&&r/   _validate_weight_classInfo._validate_weight_class  s(    %!)ut|RSS 0<r1   openTypeOS2SelectionopenTypeOS2VendorIDopenTypeOS2PanoseopenTypeOS2FamilyClassopenTypeOS2UnicodeRangesopenTypeOS2CodePageRangesopenTypeOS2TypoAscenderopenTypeOS2TypoDescenderopenTypeOS2TypoLineGapopenTypeOS2WinAscentopenTypeOS2WinDescentopenTypeOS2TypeopenTypeOS2SubscriptXSizeopenTypeOS2SubscriptYSizeopenTypeOS2SubscriptXOffsetopenTypeOS2SubscriptYOffsetopenTypeOS2SuperscriptXSizeopenTypeOS2SuperscriptYSizeopenTypeOS2SuperscriptXOffsetopenTypeOS2SuperscriptYOffsetopenTypeOS2StrikeoutSizeopenTypeOS2StrikeoutPositionopenTypeVheaVertTypoAscenderopenTypeVheaVertTypoDescenderopenTypeVheaVertTypoLineGapopenTypeVheaCaretSlopeRiseopenTypeVheaCaretSlopeRunopenTypeVheaCaretOffsetpostscriptFontNamepostscriptFullNamepostscriptSlantAnglepostscriptUniqueIDpostscriptUnderlineThicknesspostscriptUnderlinePositionzOptional[bool]postscriptIsFixedPitchzOptional[List[float]]postscriptBlueValuespostscriptOtherBluespostscriptFamilyBluespostscriptFamilyOtherBluespostscriptStemSnapHpostscriptStemSnapVpostscriptBlueFuzzpostscriptBlueShiftpostscriptBlueScalepostscriptForceBoldpostscriptDefaultWidthXpostscriptNominalWidthXpostscriptWeightNamepostscriptDefaultCharacterpostscriptWindowsCharacterSetmacintoshFONDNamemacintoshFONDFamilyIDyearwoffMajorVersionwoffMinorVersionzOptional[WoffMetadataUniqueID]_woffMetadataUniqueIDzOptional[WoffMetadataVendor]_woffMetadataVendorzOptional[WoffMetadataCredits]_woffMetadataCreditsz!Optional[WoffMetadataDescription]_woffMetadataDescriptionzOptional[WoffMetadataLicense]_woffMetadataLicensezOptional[WoffMetadataCopyright]_woffMetadataCopyrightzOptional[WoffMetadataTrademark]_woffMetadataTrademarkzOptional[WoffMetadataLicensee]_woffMetadataLicenseez%Optional[List[WoffMetadataExtension]]_woffMetadataExtensionsc                    V ^8  d   QhRRRR/# )r&   readerr   r+   r!   r-   )r.   s   "r/   r0   r     s      )  r1   c                6    V ! 4       pVP                  V4       V# )zFInstantiates a Info object from a
:class:`fontTools.ufoLib.UFOReader`.)readInfo)re   r/  r   s   && r/   read	Info.read  s     ur1   )r   r   r   r   )r8   r9   r:   r;   __doc__r   rN   r   r   r   r   _optional_positiver   r   r   r   r   r   r   r   r   r   r   rq   r   r   r   r   ru   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ry   r   r   r~   r   r   r   rJ   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r  r	  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r!  r"  r#  r$  r   r   r%  r   woffMetadataUniqueIDr    r&  woffMetadataVendorr   r'  woffMetadataCreditsr   r(  woffMetadataDescriptionr   r)  woffMetadataLicenser   r*  woffMetadataCopyrightr   r+  woffMetadataTrademarkr   r,  woffMetadataLicenseer   r-  r   r   woffMetadataExtensionsclassmethodr2  r@   r-   r1   r/   r!   r!      sn    !%J$#I}#(,,'+}+"'@R"SL-S"'@R"SL-S#I}##I}#"'@R"SJS!%I%#G_#!%I% $Ho$#'K'D--2 3.K*      6 6 BG ;B>  . . $$L %L *.-/4 20}  .2*1*.-.+/=/)--044/3}3-1]1*.-.-1]1.2m2155)--,0M0)--*.-.-1]159#]98<&<48"M8,0M0/3}326 -67< 584  ) ) A  A 49 340  + + !!T "T -2$,?M?%%T &T 15-4)---1*126/648185929-1]1.2m2,0M0*/ 2+-  ,1 2,=  ,0O(//3}3/3}315515515515537!=737!=7.2m226 -626 -637!=7155044/3}3-1]1(,,(,,,0/0(,,48 /8377-1N126/626/637078< 5<15.515.5*..+//+//*../3_3/3_3*.-.04437!=7 (,}++/=/D- ',DDV&WmW&+DDV&WmW<A '@@=9  11EF8=$>>95  //AB:?%??;7  00CDBG)CCC?  44KL:?%??;7  00CD>C'AA?;  22GH>C'AA?;  22GH<A&@@=9  11EFEJ1FB  88  r1   )r!   r"   r#   r$   r   r   r   r   r   r   r   r   r   r   r   r   r   r    rD   )=
__future__r   enumr   	functoolsr   typingr   r   r   r	   r
   r   r   attrsr   r   fontTools.ufoLibr   ufoLib2.objects.guideliner   ufoLib2.objects.miscr   ufoLib2.serder   woffr   r   r   r   r   r   r   r   r   r   r   r   r   r    __all__r5   
validatorsoptionalr5  r7   rG   r"   r#   r$   rb   rk   rq   ru   ry   r~   r   r   r   r   r!   r-   r1   r/   <module>rM     s   "   L L L   & / .    ",
 %%..y9 7 P Sm S S   
 
 T'2>D?8J$$P q q  qr1   