package Ġcom . me chan ica . engine . text Ċ Ċ import Ġorg . lwjgl . st b . ST B TT Font info Ċ import Ġorg . lwjgl . st b . ST B True type Ċ import Ġorg . lwjgl . system . Memory Stack Ċ Ċ class ĠFont Metrics ( info : ĠST B TT Font info , Ġscale : ĠFloat Ġ= ĠST B True type . st b tt _ Scale For Pixel Height ( info , Ġ 1 f )) Ġ{ ĊĠĠĠ Ġval Ġas cent : ĠFloat ĊĠĠĠ Ġval Ġdesc ent : ĠFloat ĊĠĠĠ Ġval Ġline Gap : ĠFloat ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġas cent : ĠInt ĊĠĠĠĠĠĠĠ Ġvar Ġdesc ent : ĠInt ĊĠĠĠĠĠĠĠ Ġvar Ġline Gap : ĠInt ĊĊĠĠĠĠĠĠĠ ĠMemory Stack . stack Push (). use Ġ{ Ġstack Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġas cent Buffer Ġ= Ġstack . malloc Int ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdesc ent Buffer Ġ= Ġstack . malloc Int ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġline Gap Buffer Ġ= Ġstack . malloc Int ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠST B True type . st b tt _ Get Font V Metrics ( info , Ġas cent Buffer , Ġdesc ent Buffer , Ġline Gap Buffer ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġas cent Ġ= Ġas cent Buffer [ 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdesc ent Ġ= Ġdesc ent Buffer [ 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġline Gap Ġ= Ġline Gap Buffer [ 0 ] ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis . as cent Ġ= Ġas cent * scale ĊĠĠĠĠĠĠĠ Ġthis . desc ent Ġ= Ġdesc ent * scale ĊĠĠĠĠĠĠĠ Ġthis . line Gap Ġ= Ġline Gap * scale ĊĠĠĠ Ġ} Ċ }