GMS 2.3+ Do I need to provide a font file when using a new font?

Ace Catel

Member
I downloaded a font from a website and wanted to use it in my game. I planned to use draw_set_font(font); to change the font when typing in the text.

But since games from other computers may not have the font downloaded, should I worry about that?
Should I provide that file I used to install the font?
Or am I supposed to do something different?
 

Nocturne

Friendly Tyrant
Forum Staff
Admin
You may only supply the font file provided if you have a valid legal licence for that font and the licence permits redistribution. Otherwise no, you don't need to include the font file and shouldn't. GameMaker will encode the font into the compiled binary as a texture and then use that. You should STILL make sure that you are legally entitled to use the font in this case and have paid for the licence (unless it's a free font, but check the licence as many free fonts are only free for personal use and require a token payment to use for commercial purposes) and also credit the font creator in the game credits. You do not need to include the licence with the game or worry about redistribution in this case.


EDIT: Fixed typo, thanks @rIKmAN !
 
Last edited:

NightFrost

Member
This reminds me, I've always wondered why GMS does the bitmap transform instead of just using TTF. I've assumed there's costs involved with adding the renderer which YYG is unwilling to pay.
 

Nocturne

Friendly Tyrant
Forum Staff
Admin
This reminds me, I've always wondered why GMS does the bitmap transform instead of just using TTF. I've assumed there's costs involved with adding the renderer which YYG is unwilling to pay.
I'm pretty sure it's for legal reasons, tbh... Since most fonts can't be redistributed without proper licencing, so converting to bitmap and not including the font file gets around that. Obvs, the user still needs a licence to USE the font, but this takes distribution out of the equation. I could be wrong though.
 

chamaeleon

Member
I'm pretty sure it's for legal reasons, tbh... Since most fonts can't be redistributed without proper licencing, so converting to bitmap and not including the font file gets around that. Obvs, the user still needs a licence to USE the font, but this takes distribution out of the equation. I could be wrong though.
Converting to a bitmap does not get around licensing necessarily.
If I convert the font into a bitmap font can I include that in my game or app?

No, converting Windows fonts to other formats does not change the rules around embedding or redistribution, and format conversion itself is not allowed. Many Microsoft supplied fonts are available for app and game licensing through the original font foundry or Monotype.
 

FrostyCat

Member
Licensing issues aside, there needs to be more awareness of the second way to set up a font, not just the first.
  • You DO NOT need to include the original font file for texture-based fonts that you set up using the IDE.
  • You DO need to include the original font file for non-texture-based fonts that you set up using font_add.
The first type pre-generates glyphs at compile time, which is faster but has limited coverage. This is recommended for text used for special effects (e.g. digits for score popups) and languages with fixed-size alphabets.

The second type generates glyphs on the fly, which is slower but allows more open-ended coverage. This is generally only needed when you are dealing with languages with large character sets (e.g. CJK languages) or open-ended input.
 

NightFrost

Member
I'm pretty sure it's for legal reasons, tbh...
Well, YYG could tell, but this doesn't sound like a good reason. For example, there's lots of pictures on the internet that are copyright material, yet YYG still lets us import images into projects and don't worry about improper usage of IP in those projects. Adding a TTF renderer would not be in any legal gray area by itself, so I think costs involved would be the most logical answer. (Also, I'm pretty sure a certain popular 3D game engine does not do bitmap conversions and has the money to throw around.)
 
Top