I have once created a TrueType font with FontForge that defines an invalid char glyph. That works in all programs that I had tried. I tried to load this font and ticked the "output invalid char glyph" in BmFont and it cannot select that glyph correctly.
I do not understand much of WinAPI/GDI it uses but reading the code it seemed that how Andreas reads the invalid char glyph is by selecting the Unicode code point 65535 (0xFFFF) and generates the (vertex based) information for the glyph based on what it gets from that position. For some reason this results in an empty small region. Almost as if the algorithm found literarly nothing. (I asume this affects other fonts.)
I do not know if the font needs something special for this invalid glyph to work or is this just simply a bug. I adopted my font so I positioned it to the -1 position, I also tried to point it to different locations, but BmFont was not able to pick up the invalid char glyph for position -1.
What I would like to ask is what does the GDI and BmFont needs to be able to read the invalid char glyph and generate it correctly in to the resulting bitmap font? What does BmFont is relying on to read the Invalid Char Glyph?