public VerticalByteBitmap GetBitmapFromString(string text) { var totalWidth = this.GetWidth(text); var result = new VerticalByteBitmap(totalWidth, this.Height); var characters = this.GetAvailableCharacters(text); var characterBitmaps = this.GetCharactersFromString(characters); var characterKernings = this.GetKerningsFromString(characters); var runningX = 0; for (int index = 0; index < characterBitmaps.Length; index++) { result.DrawBitmap(runningX, 0, characterBitmaps[index]); runningX += characterBitmaps[index].Width + characterKernings[index]; } return(result); }