The y_offset is currently incorrectly calculated with the inclusion of a multiple related to the quantity of newlines '\n' in the text string.
However y_offset should be independent of the number of lines in the string, and should just be related to the glyph dimensions, since this acts as a baseline offset to the vertical center of the "M" glyph.
I observed this issue when calibrating text to the upcoming bitmap_label.py file.