Actually, for every game that i play, i use windowed mode. Be it most can do it maximized windowed mode (taskbar appear behind game window). I should propably research how to do that, be it i'm propably having to IFDEF it to windows only. Anyway, the speed at which you can Alt+Tab when your game resolution is same as desktop resolution, is very fast. In addition you can use webbrowser or music player on top of your game screen. It's a huge benefit. I have never seen any actual performance gain when using desktop resolution fullscreen mode.

Have you played Skyrim? It's one example of games that do fullscreen mode BAD! Apparently the whole "fullscreen mode" subject is not so self-explanatory for many official game engines. When you alt+tab back in game, it only shows you black screen. You have to alt+tab again for it to switch to game screen, incredibly annoying, especially if you have many windows open. I just want to stay the furthest away from fullscreens as possible. Then there are many more games that can simply just crash when you switch to fullscreen mode. Windows OS has very obviously never been made for that kind of display state change.

As for font issue, there are options to go, but maybe the best one is:
Make commands nx.CreateAndSaveFont() which you call just once, and nx.LoadFont(). I could make for example format .nxf, which would stream in the font widths and texture data with compression stream. I have already practised its use in nxData. It would be simple to have everything of 1 font in 1 file, instead of separate image and data files. Besides there is no simple code to save PNG in both Delphi and Lazarus. Added benefit is that the texture data would be straight in OpenGL compatible mode, making the loading much faster than from PNG.