Garry's Mod Wiki


  surface.CreateFont( string fontName, table fontData )


Creates a new font.

To prevent the font from displaying incorrectly when using the outline setting, set antialias to false. This will ensure the text properly fills out the entire outline.

Be sure to check the List of Default Fonts first! Those fonts can be used without using this function.

See Also: Finding the Font Name.

Due to the static nature of fonts, do NOT create the font more than once. You should only be creating them once, it is recommended to create them at the top of your script. Do not use this function within GM:HUDPaint or any other hook!

Define fonts that you will actually use, as fonts are very taxing on performance and will cause crashes! Do not create fonts for every size.


1 string fontName
The new font name.
2 table fontData
The font properties. See the FontData structure.


Creates a font with all the defaults showing (any of the fields could be left out for an equivalent font)

surface.CreateFont( "TheDefaultSettings", { font = "Arial", -- Use the font-name which is shown to you by your operating system Font Viewer, not the file name extended = false, size = 13, weight = 500, blursize = 0, scanlines = 0, antialias = true, underline = false, italic = false, strikeout = false, symbol = false, rotary = false, shadow = false, additive = false, outline = false, } ) hook.Add( "HUDPaint", "HelloThere", function() draw.SimpleText( "Hello there!", "TheDefaultSettings", ScrW() * 0.5, ScrH() * 0.25, color_white, TEXT_ALIGN_CENTER ) end )