generali informazioni sui font:
ciò che si sta cercando è come normalizzare il posizionamento del testo alla "base" o "origine" (stesso concetto). Puoi farlo con la salita (ascesa) o discesa (discensore) a seconda del tuo sistema di coordinate.
http://www.freetype.org/freetype2/docs/tutorial/step2.html
che fornisce un buon set di immagini di esempio relativi alla tipografia.
bitmap generale informazioni sui font:
Ora, per quanto riguarda un'immagine bitmap il modo più semplice per assicurarsi che essi sono tutti allineati correttamente è quello di avere la stessa altezza per rappresentazione bitmap di ogni personaggio nel foglio sprite (le larghezze dovrebbero essere diverse ma basate sulla larghezza del carattere reale).Se lo fai, puoi semplicemente allineare tutto in base all'altezza condivisa.
Se si taglia lo spazio bianco in eccesso attorno a un carattere, tuttavia, sarà necessario memorizzare i valori ritagliati in alcune strutture insieme al glifo in modo da poter determinare l'offset. Se un'API sta facendo questo per te, probabilmente avranno il metodo ascender/discender, origine/baseline o tipo altezza linea in cui puoi ottenere le dimensioni complete in base a un personaggio in modo da poterlo fare correttamente. informazioni specifiche
Api
Edit: Sulla base di altre risposte ecco i link rilevanti per domanda specifica tua API:
GetTextMetrics:
http://msdn.microsoft.com/en-us/library/dd144941(v=vs.85).aspx
TEXTMETRIC struct:
http://msdn.microsoft.com/en-us/library/dd145132(v=vs.85).aspx
tmAscent o tmDescent possono essere usati per compensare il tuo y coord spo.
Le bitmap del font non hanno la stessa altezza? –
Buon punto, sto facendo il miglior adattamento alle mie immagini bitmap, quindi non sono sempre della stessa dimensione .. – jack
Forse hai qualche tipo di tavolo offset? Con offset dalla baseline, quindi puoi usare la stessa tabella per posizionare anche lettere come 'g'. –