The vast majority of text LCD displays for screens 4x40 or smaller use a controller based on the Hitachi HD44780. It's a pretty nice design in a lot of ways, so its popularity is understandable. One aspect of it puzzles me, however.
The display controller is designed to operate with either 5x8 or 5x10 fonts; according to the 44780 data sheet, the part is available with two stock ROM configurations--one with 248 5x8 character shapes, designated A02, and one with 160 5x8 shapes and 32 5x10 shapes, designated A00. The 5x10 character shapes are only really useful on single-line displays which have a 10-high LCD matrix, and such displays seem to be very rare (I think I've seen data sheets for a handful of them, if that, and I don't know that I've ever actually seen one in person).
I am puzzled, then, by why it seems that every LCD display I've seen based on an HD44780-compatible controller, uses font pattern A00 which has many blank character cells, and whose glyphs for a number of characters (including 0xE4, 0xE6, 0xE7, 0xEA, 0xF0, 0xF1, and 0xF9) are essentially useless with anything other than a single-line 5x10 display. I would have expected that at least some vendors would have at least changed the definitions for those characters to look good on a 5x8 display, but I'm unaware of any having done so. I would also think that for many applications, ROM pattern A02 would be more useful than ROM pattern A00, but all the displays I've ever seen for sale use ROM pattern A00.
To be sure, in a lot of applications, the ability to define custom glyphs substantially mitigates the limitations of the built-in character set, but the display can only show eight different custom glyphs at a time. Having built-in glyphs for things like arrows would mean that applications needing arrows could have more custom glyphs left over for other purposes.
If nothing else, it would seem logical for displays to have an option to fill in character ranges 0x10-0x1F and 0x80-0x9F with useful characters. If a particular controller is only going to be used with 5x8 or 5x16 glass (would seem pretty likely), it should be a simple matter to use the 5x10-font control bit to enable or disable those characters. That would make the controller compatible with software that would expect all of those characters to appear as blank, but would allow software that knows what it is to exploit those other characters.