package Ġgg . essential . element a . font . data Ċ Ċ import Ġcom . google . gson . Gson Ċ import Ġcom . google . gson . JsonObject Ċ import Ġcom . google . gson . annotations . SerializedName Ċ Ċ data Ġclass ĠFont Info ( ĊĠĠĠ Ġval Ġatlas : ĠAtlas , ĊĠĠĠ Ġval Ġmetrics : ĠMetrics , ĊĠĠĠ Ġval Ġglyph s : ĠMap < Int , ĠGlyph > Ċ ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġgson Ġ= ĠGson () ĊĊĠĠĠĠĠĠĠ Ġfun Ġfrom Json ( json : ĠJsonObject ): ĠFont Info Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġatlas Ġ= Ġgson . fromJson ( json . getAs JsonObject (" atlas "), ĠAtlas :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmetrics Ġ= Ġgson . fromJson ( json . getAs JsonObject (" metrics "), ĠMetrics :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġglyph s Ġ= Ġjson . getAs JsonArray (" glyph s "). associate Ġ{ Ġglyph Element Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġglyph Ġ= Ġgson . fromJson ( glyph Element , ĠGlyph :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġglyph . unicode Ġto Ġglyph ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠFont Info ( atlas , Ġmetrics , Ġglyph s ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ data Ġclass ĠAtlas ( ĊĠĠĠ Ġval Ġtype : ĠString , ĊĠĠĠ Ġval Ġdistance Range : ĠFloat , ĊĠĠĠ Ġval Ġsize : ĠFloat , ĊĠĠĠ Ġval Ġwidth : ĠFloat , ĊĠĠĠ Ġval Ġheight : ĠFloat , ĊĠĠĠ Ġval Ġy Origin : ĠString , ĊĠĠĠ Ġval Ġbase Char Height : ĠFloat , ĊĠĠĠ Ġval Ġbelow Line Height : ĠFloat , ĊĠĠĠ Ġval Ġshadow Height : ĠFloat Ċ ) Ċ Ċ data Ġclass ĠMetrics ( ĊĠĠĠ Ġval Ġline Height : ĠFloat , ĊĠĠĠ Ġval Ġasc ender : ĠFloat , ĊĠĠĠ Ġval Ġdesc ender : ĠFloat , ĊĠĠĠ Ġval Ġunderline Y : ĠFloat , ĊĠĠĠ Ġval Ġunderline Thickness : ĠFloat Ċ ) Ċ Ċ class ĠGlyph ( ĊĠĠĠ Ġval Ġunicode : ĠInt , ĊĠĠĠ Ġval Ġadvance : ĠFloat , ĊĠĠĠ Ġval Ġplane Bounds : ĠBounds ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġatlas Bounds : ĠBounds ? Ġ= Ġnull Ċ ) Ċ data Ġclass ĠBounds ( ĊĠĠĠ Ġ@ SerializedName (" left ") ĊĠĠĠ Ġprivate Ġval Ġ_ left : ĠFloat , ĊĠĠĠ Ġ@ SerializedName (" bottom ") ĊĠĠĠ Ġprivate Ġval Ġ_ bottom : ĠFloat , ĊĠĠĠ Ġ@ SerializedName (" right ") ĊĠĠĠ Ġprivate Ġval Ġ_ right : ĠFloat , ĊĠĠĠ Ġ@ SerializedName (" top ") ĊĠĠĠ Ġprivate Ġval Ġ_ top : ĠFloat Ċ ) Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġms df gen Ġexports ĠUV Ġlocations Ġin Ġthe Ġmiddle Ġof Ġpixels . ĊĠĠĠĠ Ġ* ĠThis Ġcauses Ġthe Ġrendering Ġto Ġoccur Ġslightly Ġof Ġfrom ĊĠĠĠĠ Ġ* Ġwhere Ġyou Ġwould Ġexpect Ġit Ġand Ġincorrect Ġtex el Ġmapping . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġleft : ĠFloat ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ left Ġ+ Ġ. 5 f ĊĠĠĠ Ġval Ġbottom : ĠFloat ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ bottom Ġ+ Ġ. 5 f ĊĠĠĠ Ġval Ġright : ĠFloat ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ right Ġ+ Ġ. 5 f ĊĠĠĠ Ġval Ġtop : ĠFloat ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ top Ġ+ Ġ. 5 f Ċ } Ċ