/* Ċ Ġ* ĠCopyright Ġ 2 0 1 8 ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġandroidx . compose . ui . text . font Ċ Ċ import Ġandroidx . compose . runtime . Immutable Ċ import Ġandroidx . compose . runtime . Stable Ċ Ċ /** Ċ Ġ* ĠThe Ġinterface Ġof Ġthe Ġfont Ġresource . Ċ Ġ* Ċ Ġ* Ġ@ see ĠResource Font Ċ Ġ*/ Ċ @ Immutable Ċ interface ĠFont Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġweight Ġof Ġthe Ġfont . ĠThe Ġsystem Ġuses Ġthis Ġto Ġmatch Ġa Ġfont Ġto Ġa Ġfont Ġrequest ĊĠĠĠĠ Ġ* Ġthat Ġis Ġgiven Ġin Ġa Ġ[ android x . compose . ui . text . Span Style ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġweight : ĠFontWeight ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġstyle Ġof Ġthe Ġfont , Ġnormal Ġor Ġitalic . ĠThe Ġsystem Ġuses Ġthis Ġto Ġmatch Ġa Ġfont Ġto Ġa ĊĠĠĠĠ Ġ* Ġfont Ġrequest Ġthat Ġis Ġgiven Ġin Ġa Ġ[ android x . compose . ui . text . Span Style ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġstyle : ĠFont Style ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠInterface Ġused Ġto Ġload Ġa Ġfont Ġresource . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġinterface ĠResource Loader Ġ{ ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠLoads Ġresource Ġrepresented Ġby Ġthe Ġ[ Font ] Ġobject . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġfont Ġ[ Font ] Ġto Ġbe Ġloaded ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return Ġplatform Ġspecific Ġfont ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġload ( font : ĠFont ): ĠAny ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠDefines Ġa Ġfont Ġto Ġbe Ġused Ġwhile Ġrendering Ġtext Ġwith Ġresource ĠID . Ċ Ġ* Ċ Ġ* Ġ@ sample Ġandroidx . compose . ui . text . samples . Custom Font Family Sample Ċ Ġ* Ċ Ġ* Ġ@ param Ġres Id ĠThe Ġresource ĠID Ġof Ġthe Ġfont Ġfile Ġin Ġfont Ġresources . Ġi . e . Ġ" R . font . my font ". Ċ Ġ* Ġ@ param Ġweight ĠThe Ġweight Ġof Ġthe Ġfont . ĠThe Ġsystem Ġuses Ġthis Ġto Ġmatch Ġa Ġfont Ġto Ġa Ġfont Ġrequest Ċ Ġ* Ġthat Ġis Ġgiven Ġin Ġa Ġ[ android x . compose . ui . text . TextStyle ]. Ċ Ġ* Ġ@ param Ġstyle ĠThe Ġstyle Ġof Ġthe Ġfont , Ġnormal Ġor Ġitalic . ĠThe Ġsystem Ġuses Ġthis Ġto Ġmatch Ġa Ġfont Ġto Ġa Ċ Ġ* Ġfont Ġrequest Ġthat Ġis Ġgiven Ġin Ġa Ġ[ android x . compose . ui . text . TextStyle ]. Ċ Ġ* Ċ Ġ* Ġ@ see ĠFont Family Ċ Ġ*/ Ċ class ĠResource Font Ġinternal Ġconstructor ( ĊĠĠĠ Ġval Ġres Id : ĠInt , ĊĠĠĠ Ġoverride Ġval Ġweight : ĠFontWeight Ġ= ĠFontWeight . Normal , ĊĠĠĠ Ġoverride Ġval Ġstyle : ĠFont Style Ġ= ĠFont Style . Normal Ċ ) Ġ: ĠFont Ġ{ ĊĊĠĠĠ Ġfun Ġcopy ( ĊĠĠĠĠĠĠĠ Ġres Id : ĠInt Ġ= Ġthis . res Id , ĊĠĠĠĠĠĠĠ Ġweight : ĠFontWeight Ġ= Ġthis . weight , ĊĠĠĠĠĠĠĠ Ġstyle : ĠFont Style Ġ= Ġthis . style ĊĠĠĠ Ġ): ĠResource Font Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠResource Font ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġres Id Ġ= Ġres Id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġweight Ġ= Ġweight , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= Ġstyle ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( other Ġ! is ĠResource Font ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( res Id Ġ!= Ġother . res Id ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( weight Ġ!= Ġother . weight ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( style Ġ!= Ġother . style ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġres Id ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġweight . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġstyle . hashCode () ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" Resource Font ( res Id =$ res Id , Ġweight =$ weight , Ġstyle =$ style )" ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠCreates Ġa ĠFont Ġwith Ġusing Ġresource ĠID . Ċ Ġ* Ċ Ġ* Ġ@ param Ġres Id ĠThe Ġresource ĠID Ġof Ġthe Ġfont Ġfile Ġin Ġfont Ġresources . Ġi . e . Ġ" R . font . my font ". Ċ Ġ* Ġ@ param Ġweight ĠThe Ġweight Ġof Ġthe Ġfont . ĠThe Ġsystem Ġuses Ġthis Ġto Ġmatch Ġa Ġfont Ġto Ġa Ġfont Ġrequest Ċ Ġ* Ġthat Ġis Ġgiven Ġin Ġa Ġ[ android x . compose . ui . text . Span Style ]. Ċ Ġ* Ġ@ param Ġstyle ĠThe Ġstyle Ġof Ġthe Ġfont , Ġnormal Ġor Ġitalic . ĠThe Ġsystem Ġuses Ġthis Ġto Ġmatch Ġa Ġfont Ġto Ġa Ċ Ġ* Ġfont Ġrequest Ġthat Ġis Ġgiven Ġin Ġa Ġ[ android x . compose . ui . text . Span Style ]. Ċ Ġ* Ċ Ġ* Ġ@ see ĠFont Family Ċ Ġ*/ Ċ @ Stable Ċ fun ĠFont ( ĊĠĠĠ Ġres Id : ĠInt , ĊĠĠĠ Ġweight : ĠFontWeight Ġ= ĠFontWeight . Normal , ĊĠĠĠ Ġstyle : ĠFont Style Ġ= ĠFont Style . Normal Ċ ): ĠFont Ġ= ĠResource Font ( res Id , Ġweight , Ġstyle ) Ċ Ċ /** Ċ Ġ* ĠCreate Ġa Ġ[ Font Family ] Ġfrom Ġthis Ġsingle Ġ[ font ]. Ċ Ġ*/ Ċ @ Stable Ċ fun ĠFont . to Font Family () Ġ= ĠFont Family ( this ) Ċ