--- texfont.c.orig	2020-11-04 14:43:46.744596930 -0600
+++ texfont.c	2020-11-04 14:45:28.643958148 -0600
@@ -769,10 +769,27 @@
                      texture_font_data *data,
                      int window_width, int window_height,
                      int position,
                      const char *string)
 {
+  print_texture_label_with_offset(dpy, data, window_width, window_height, position, string, 0, 0);
+}
+/* Draws the string on the window at the given pixel position.
+   Newlines and tab stops are honored.
+   Any numbers inside [] will be rendered as a subscript.
+   Assumes the font has been loaded as with load_texture_font().
+
+   Position is 0 for center, 1 for top left, 2 for bottom left.
+ */
+void
+print_texture_label_with_offset (Display *dpy,
+                     texture_font_data *data,
+                     int window_width, int window_height,
+                     int position,
+                     const char *string,
+                     int x_offset, int y_offset)
+{
   GLfloat color[4];
 
   Bool tex_p   = glIsEnabled (GL_TEXTURE_2D);
   Bool texs_p  = glIsEnabled (GL_TEXTURE_GEN_S);
   Bool text_p  = glIsEnabled (GL_TEXTURE_GEN_T);
@@ -884,10 +901,12 @@
         y = h;
         break;
       default:
         abort();
       }
+      x += x_offset;
+      y += y_offset;
 
       glTranslatef (x, y, 0);
 
       /* draw the text five times, to give it a border. */
       {
