Dang I had no idea Steve! I said "highest" because that's the highest number it uses on Microsoft Wordpad. I just threw in a size 120 on a test and it's HUGE! Thank you!!!
Here's a few tips when it comes to using fonts:
1) Fonts are really nothing more than a set of graphics that scale to whatever scale you set them. This property of them is what had me so shocked when you said 72 was the upper limit of the font you're using. Generally speaking, whatever size you set for the font, determines the HEIGHT, in pixels, of each character of the font. A quick example is below:
As you can see, I'm using one font, from size 10 to size 24, and my _FONTHEIGHT matches the size I set for the font. These aren't arbitrary numbers, like the dial on a radio where 1 to 10 is something different on different speakers; it's a set size of pixel height. Width, of course, depends on the characters inside the font. With many fonts, unless they're monospaced, "W" is a much wider character than "i".
Also, as you can see from running the above, the _FONTWIDTH is currently 0. This is the basic response we get when we're using a font which isn't monospaced, as there's no set standard size for each character in the font. If you get a _FONTWIDTH of 0, you'll need to use _PRINTWIDTH with each character/string to see how many pixels wide they are, when printing them to the screen.
2) QB64 has the capability to make any font monospaced. To do so, simply add the "MONOSPACE" style tag to your _LOADFONT, as below:
Now with the above, our _FONTWIDTH is now 1/2 our _FONTHEIGHT (rounded down), but this ratio doesn't always hold true, so don't get a false perception of that in your head. (Think of _FONT 8 which comes with QB64 which is 8x8 pixels in size.) All characters are going to be a set width, and the ratio will always be the same as the font scales in size, but that ratio between width and height varies from font to font.
3) Another "Generally speaking" rule: Unless you're doing something odd as heck with them, your best practice is just to load the font you want at the start of a program, and then keep it in memory to use. They only use a few MB of memory to keep them loaded and ready to use, and with today's computers which allow us GB of RAM for each program, it's just not worth the hassle (and wear on the drive) to have to open a font and then close it repeatedly. Load it once and forget it.
4) If you can't practice the "load it once and forget it" rule, then don't forget to make use of _FREEFONT. If you load a font and never free it, your program's memory usage will simply go up, up, and up, until it eventually uses all the resources on your machine and crashes. These types of memory leaks become readily apparent when applied inside a loop, SUB, or FUNCTION.
5) Last tidbit of knowledge which I can think to share with you: Each time you load a font, QB64 resets your print location to the top left corner of the screen. For a quick example, run the following code:
PRINT "Hello World (in default text)"
PRINT "Hello World (in LCD-16 text)"
PRINT "Hello World (in LCD-32 text)"
Notice how every time you break the SLEEP, the text prints in the top left corner? Every font change will produce this affect to your print location. If you want to preserve your print location, add my little SafeLoadFont routine into your code and use it, as below:
PRINT "Hello World (in default text)"
SafeLoadFont f(16)
PRINT "Hello World (in LCD-16 text)"
SafeLoadFont f(32)
PRINT "Hello World (in LCD-32 text)"
'Safely loads a font without destroying our current print location and making it revert to the top left corner.
right
= (right
- 1) * _PRINTWIDTH(" ") 'convert the monospace LOC to a graphic X coordinate right
= (right
/ _PRINTWIDTH(" ")) + 1 'convert the graphic X coordinate back to a monospace LOC column
And that's about all the pointers/tips that I think I know to share with you, concerning the use of fonts in your programs. if you have any questions, feel free to ask, and I'll do what I can to help answer them for you. Honestly, there's nothing too complex about adding them into a program, and making them work.
Usually the biggest problem comes with folks saying, "Font not found", and the best way to get around that is to make the font available for download with the program just like you would any other resource. Just don't assume that it comes with someone's OS by default, cause every OS seems to have a different set that they package with it. Old English font (OLDENGL.ttf) is one I like the looks of, and use a lot, and it comes with WIN XP, but not Vista, but it's in WIN 7, but not WIN 8, but it's in WIN 10.... The web has every font imaginable to mankind on it, yet nobody will ever google "Download OLDENGL.ttf" when they need it and don't have it. You have to provide that font for them, or else expect them to complain about it. :P