I understand, maybe you can try with a vectorized font. For this, use BGRAVectorize, create a TBGRAVectorizedFont object and prepare all the characters without using threads. To do that, access the Glyph property of all the characters you will use. Then you can draw on a Canvas2D, which is a property of all TBGRABitmap objects.