Revision Difference
Finding_the_Font_Name#562985
<title>How to Create a Font and Find its Name</title>
<cat>Dev.UI</cat>
# How to Create a Font
## Place the Font File in Your Addon
When Garry's Mod loads fonts, it looks for them in the `/garrysmod/addons/{Your Addon's Folder}/resource/fonts/` folder.
Example: `resource/fonts/arial_bold.ttf`
Due to inconsistencies between operating systems, it's good practice to ensure that your addon's files and folders (including font files) use entirely lowercase names which do not contain spaces. Spaces should be replaced by underscores (`_`) or hyphens (`-`).
This is *especially* true on Linux.
<note>All fonts **must** be in the `.ttf` format.</note>
<note>While this hasn't been 100% confirmed; if your font loads with no console errors, yet when rendering it shows the fallback font, use ['FontDrop!'](https://fontdrop.info) to check if the site detects the OpenType kern feature. If it does not, then that is probably why the font isn't working.</note>⤶
In addition, make sure that the font's `.ttf` file is available clientside, otherwise players will not be able to use it.
You can do this via <page>resource.AddSingleFile</page>
## Find the Font's Name
To use your font in Garry's Mod, you need to know the name of your font. This is required for <page>surface.CreateFont</page>.
On Windows and macOS, the font name is **not** the `.ttf` file's file name. Instead, the `.ttf` file has the name of the font embedded within it. This embedded name is what Garry's Mod uses to create the font and make it available in-game.
On Linux, using the embedded font name tends to be unreliable. I recommend using the font's (case-sensitive) file name, like `"Roboto-Regular.ttf"`, instead. You can use <page>system.IsLinux</page> to help determine which name to use.
### Windows
1. Right click on your `.ttf` font file and click `Preview`
<image src="19952/8d7ac8f0fde3c86.png" size="4373" name="111.png" />
2. In the window that opens, find the line that begins with "Font name"
<image src="19952/8d7ac8f56346600.png" size="11641" name="fontview_HV8L4tuEW0.png" />
3. The name you will need to use in Garry's Mod is the text following "Font name"
In the example below, the name is `Digital-7 Mono`
<image src="19952/8d7ac8f88417667.png" size="6024" name="fontview_NyCOKo3ZRc.png" />
### MacOS
TODO
### Linux
<note>On Linux, using the embedded font name tends to be unreliable. I recommend using the font's (case-sensitive) file name, like `"Roboto-Regular.ttf"`, instead. You can use <page>system.IsLinux</page> to help determine which name to use.</note>
#### GNOME Font Viewer
Package name: [`gnome-font-viewer`](https://snapcraft.io/gnome-font-viewer)
1. Open the font
2. Find the label at the center of the top menu (In this example, it's `Arial`, style is not a part of the font here)
3. Additionally you can check the font name by click `Info` on the top menu and find `Name: `
<image src="8d978/8d7acd56a1f3bec.png" size="95226" name="gnome-font-viewer_arial_example.png" />
## Creating the Font
For information and examples on how to use the font you have now installed and found the name of, see <page>surface.CreateFont</page>