Get font name - At runtime

Sure. I will write up more later, but my thinking is this.

Have it ifdef guarded so it’s optional.
Modify register font to also have essentially a map of name to font pointer, and store the name as user data in the font. In the case of name collisions add a counter.

Then add a function to query the map for a name, and return the font pointer or null if none match

I’m guessing the additional code would be trivial, and the memory would be the name * 2+pointer per font