You are now talking about a font searcher and manager. That should not be part of a word processor, but a separate package.
First you need to look at the Unicode specs to get the font data on where the "characters" should be. The other way would take a lot of programming to look at the font's internal glyph descriptions and then decide if it has an "A" or "a" in it. That is not as easy as you think. Our brains will do it just fine, but a computer "brain" to do the same is something that many other fields have been trying to create for many years. To have a computer see an image and pick out if it has or does not have an image of a font character/glyph, among all of the various styles that fonts come in, can be very hard to do and could take some real complex code to do it even half of the time.
Searching a font to see if a glyph is defined in the place it should be could be an easy code to make for someone who knows how to write code that reads the internal font glyph specifications. I do not know if the LO developers can do this or do they get their font coding from other sources, or other project coders of open source packages.
As for the "&blank" character, do you know what it the position/placement in the Unicode specifications? That is a start. Actually there is a control character[s] in the ASCII code that do the job. I uses them in programming many times to get to the End-Of-Line [EOL] or go to a new page with Form Feed [FF].
Maybe it is not completely the font's fault, but how Writer and Firefox sees the command of entering a blank line. Does Writer see the "&blank" as text or the control character? Does Firefox? Many time when we use a word processor to create a web page, and not a text editor or web page only WYSIWYG package, the text of "&blank" may be considered to be text and not a command or HTML Tag. "<br>" is to be a end of line and go to the next line. But is it the text of these characters or the HTML Tag that you are using? How does Writer knows and how does Firefox? The lines can blur easy enough.
Here are some ASCII control codes. Writing this, for the Line Feed character I see the HEX number, a glyph image of a filled in half height square, then <control> What you will see after this post goes through the server's filters and possible font changing on the email client's end, well I cannot predict all of the possibilities.
000A <control>
= LINE FEED (LF)
= new line (NL), end of line (EOL)
000B <control>
= LINE TABULATION
= vertical tabulation (VT)
000C <control>
= FORM FEED (FF)
000D <control>
= CARRIAGE RETURN (CR)