du hast recht, der Teil hinter gsub ist beim Einfügen verändert worden.
Ich hab für char.Size ein print ausgeführt, das hat "100" ausgespuckt - was der Skalierungsgröße in Prozent entspricht (Charaktergröße 206 px, Bildgröße 300 px)
Bei mehrzeiliger Textausgabe zerschießt es mir übrigens die Positionierung. Liegt das an der Herausfilterung der Zeilenumbrüche? (dieses gsub(), das ich nicht kenne ;-))
ja, scheint wirklich Prozentual zu sein. Mein Glück war wohl hier, dass meine Charaktergröße annähern auch 100 Pixel ist.
Sprich hier wäre wohl die Größe der Sprite * CharacterSize% zu nehmen um das zu korrigieren.
"char_size" als Value bei jeder Person mit individueller Größenangabe:
pos.y = pos.y-(char.Size * char.Values["char_size"].Int / 100)-dim.y-20
Die Textdimensionsfunktion funktioniert nur bei manuellen Zeilenumbrüchen, da der textstring einfach nur eingelesen wird und anhand einer Font gegengecheckt wird. Der automatische Linebreak wird nicht berücksichtigt, weil das Die Engine zusätzlich noch macht.
Apropos Font. Die müsste eigentlich vorher auch noch festgelegt werden, damit die Dimensiorungsfunktion anhand dieser Buchstaben gecheckt wird:
graphics.font = Fonts[fontid]
graphics.fontDimension(txt)