/* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 Ġ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 Ċ Ċ /** Ċ Ġ* Ġ ĠPossible Ġoptions Ġfor Ġfont Ġsynt hesis . Ċ Ġ* Ċ Ġ* Ġ Ġ` Font Synt hesis ` Ġis Ġused Ġto Ġspecify Ġwhether Ġthe Ġsystem Ġshould Ġfake Ġbold Ġor Ġsl anted Ċ Ġ* Ġ Ġglyph s Ġwhen Ġthe Ġ[ Font Family ] Ġused Ġdoes Ġnot Ġcontain Ġbold Ġor Ġob lique Ġ[ Font ] s . Ċ Ġ* Ċ Ġ* Ġ ĠIf Ġthe Ġfont Ġfamily Ġdoes Ġnot Ġinclude Ġa Ġrequested Ġ[ Font Weight ] Ġor Ġ[ FontStyle ], Ġthe Ġsystem Ċ Ġ* Ġ Ġf akes Ġbold Ġor Ġsl anted Ġglyph s Ġwhen Ġthe Ġ[ Weight ] Ġor Ġ[ Style ], Ġrespectively , Ġor Ġboth Ġwhen Ġ[ All ] Ċ Ġ* Ġ Ġis Ġset . ĠIf Ġthis Ġis Ġnot Ġdesired , Ġuse Ġ[ None ] Ġto Ġdisable Ġfont Ġsynt hesis . Ċ Ġ* Ċ Ġ* Ġ ĠIt Ġis Ġpossible Ġto Ġfake Ġan Ġincrease Ġof Ġ[ Font Weight ] Ġbut Ġnot Ġa Ġdecrease . ĠIt Ġis Ġpossible Ġto Ġfake Ċ Ġ* Ġ Ġa Ġregular Ġfont Ġsl anted , Ġbut Ġnot Ġvice Ġvers a . Ċ Ġ* Ċ Ġ* Ġ Ġ` Font Synt hesis ` Ġworks Ġthe Ġsame Ġway Ġas Ġthe Ġ[ CSS Ġfont - synt hesis ]( https :// www . w 3 Ċ Ġ* Ġ Ġ. org / TR / css - fonts - 4 /# font - synt hesis ) Ġproperty . Ċ Ġ* Ċ Ġ* Ġ Ġ@ sample Ġandroidx . compose . ui . text . samples . Font Family Synt hesis Sample Ċ Ġ**/ Ċ @ Suppress (" INLINE _ CLASS _ DEPRECATED ") Ċ inline Ġclass ĠFont Synt hesis Ġinternal Ġconstructor ( internal Ġval Ġvalue : ĠInt ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( this ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNone Ġ-> Ġ" None " ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAll Ġ-> Ġ" All " ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWeight Ġ-> Ġ" Weight " ĊĠĠĠĠĠĠĠĠĠĠĠ ĠStyle Ġ-> Ġ" Style " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ" Invalid " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠTurn s Ġoff Ġfont Ġsynt hesis . ĠNeither Ġbold Ġnor Ġsl anted Ġfaces Ġare Ġsynt hesized Ġif Ġthey Ġdon 't ĊĠĠĠĠĠĠĠĠ Ġ* Ġexist Ġin Ġthe Ġ[ Font Family ] ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġval ĠNone Ġ= ĠFont Synt hesis ( 0 ) ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠThe Ġsystem Ġsynt hes izes Ġboth Ġbold Ġand Ġsl anted Ġfonts Ġif Ġeither Ġof Ġthem Ġare Ġnot Ġavailable Ġin ĊĠĠĠĠĠĠĠĠ Ġ* Ġthe Ġ[ Font Family ] ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġval ĠAll Ġ= ĠFont Synt hesis ( 1 ) ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠOnly Ġa Ġbold Ġfont Ġis Ġsynt hesized , Ġif Ġit Ġis Ġnot Ġavailable Ġin Ġthe Ġ[ Font Family ]. ĠSl anted Ġfonts ĊĠĠĠĠĠĠĠĠ Ġ* Ġwill Ġnot Ġbe Ġsynt hesized . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġval ĠWeight Ġ= ĠFont Synt hesis ( 2 ) ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠOnly Ġan Ġsl anted Ġfont Ġis Ġsynt hesized , Ġif Ġit Ġis Ġnot Ġavailable Ġin Ġthe Ġ[ Font Family ]. ĠB old Ġfonts ĊĠĠĠĠĠĠĠĠ Ġ* Ġwill Ġnot Ġbe Ġsynt hesized . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġval ĠStyle Ġ= ĠFont Synt hesis ( 3 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġval Ġis Weight On : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġthis Ġ== ĠAll Ġ|| Ġthis Ġ== ĠWeight ĊĊĠĠĠ Ġinternal Ġval Ġis Style On : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġthis Ġ== ĠAll Ġ|| Ġthis Ġ== ĠStyle Ċ } Ċ Ċ /** Ċ Ġ* ĠPerform Ġplatform - specific Ġfont Ġsynt hesis Ġsuch Ġas Ġfake Ġbold Ġor Ġfake Ġitalic . Ċ Ġ* Ċ Ġ* ĠPlatform s Ġare Ġnot Ġrequired Ġto Ġsupport Ġsynt hesis , Ġin Ġwhich Ġcase Ġthey Ġshould Ġreturn Ġ[ type face ]. Ċ Ġ* Ċ Ġ* ĠPlatform s Ġthat Ġsupport Ġsynt hesis Ġshould Ġcheck Ġ[ Font Synt hesis . is Weight On ] Ġand Ċ Ġ* Ġ[ Font Synt hesis . is Style On ] Ġin Ġthis Ġmethod Ġbefore Ġsynt hes izing Ġbold Ġor Ġitalic , Ġrespectively . Ċ Ġ* Ċ Ġ* Ġ@ param Ġtype face Ġa Ġplatform - specific Ġtype face Ċ Ġ* Ġ@ param Ġfont Ġinitial Ġfont Ġthat Ġgenerated Ġthe Ġtype face Ġvia Ġloading Ċ Ġ* Ġ@ param Ġrequested Weight Ġapp - requested Ġweight Ġ( may Ġbe Ġdifferent Ġthan Ġthe Ġfont 's Ġweight ) Ċ Ġ* Ġ@ param Ġrequested Style Ġapp - requested Ġstyle Ġ( may Ġbe Ġdifferent Ġthan Ġthe Ġfont 's Ġstyle ) Ċ Ġ* Ġ@ return Ġa Ġsynt hesized Ġtype face , Ġor Ġthe Ġpassed Ġ[ type face ] Ġif Ġsynt hesis Ġis Ġnot Ġneeded Ġor Ġsupported . Ċ Ġ*/ Ċ internal Ġexpect Ġfun ĠFont Synt hesis . synthesize Type face ( ĊĠĠĠ Ġtype face : ĠAny , ĊĠĠĠ Ġfont : ĠFont , ĊĠĠĠ Ġrequested Weight : ĠFontWeight , ĊĠĠĠ Ġrequested Style : ĠFont Style Ċ ): ĠAny