4K and higher screens are having a "tiny fonts" issue. The below can help if you really need to edit.

Update 18th February 2025 dod:s update: Items of interest that Valve didn't tell you in the update...

  1. Before you go changing files, maybe just change your resolution? Please read the last section now.
  2. Like TF2, DoD:S now has new scaling commands. vgui_ui_scale_factor can scale your hud, the default value is "1" open the console and try increments of "1.2" or "1.5" going too high like "10" is way too much. You can place this in a userconfig.cfg file and it will stick.vgui_ui_scale_factor "2' is very large... go 1.2 to 1.5 normally.
  3. MenuLarge font (main menu) maybe to large for some, especially custom huds. Fix below.

 

This is really a GUI guide but as always I will provide a download for Day of Defeat:Source players who just want a quick fix.

You may still have to edit things here and there but this download should fix the Main Menu and netgraph fonts at least.

 

To continue...

Right up front, you should first consider to just lower your resolution away from 4k or higher screen heights to a height that is closer to 1080, like 1920X1080.

Just go to the Main Menu in the GUI and "Options" then "Video" and bring down the resolution to 1920 X 1080 (16:9 ratio) or for Ultra Wide ... just get your screen height down to around 1080 height.

In saying that if you must keep your huge 4K 3840 × 2160 resolution below is the rabbit hole you need to jump into.

This has a couple of solutions, none are for the novice.

 Section  Description
 Introduction

 What this is and where fonts are image

(see image and open it in another tab/window)

 To make and install the special SourceScheme.res file.  Make the file and put it in place
 After Installing the file - adjust it.  Time to adjust the file
 18 Feb 2025 update Main Menu font  Main Menu too large 18th Feb 2025 issue

Netgraph scaling fonts - "yres" settings version.

 A special version in case your net graph and Main Menu has scaling issues
 A more complex file that will adjust for all resolutions.  Go further if you use different resolutions
 Is this worth the work? Options  Maybe you should just adjust your resolutions?

 

Introduction.

Editing the GUI area where you join a game and set your options was never much of an issue, normally one would just change the background image or edit the items in the main menu.

Some of the files that control that area in older Source engine games like Day of Defeat:Source and Counter-Strike:Source well...they are showing their age as they were made way back in 2005-2013 when a "normal" screen resolution was 1024x768 and a awesome screen resolution was 1920 × 1080 (Full HD).

But 4K 3840 × 2160 (4K UHD) was a brand new and rare in games.

Seeing the files use screen heights to scale properly, doubling that screen height can make some items small, in a 5K screen with 5120 × 2880 the fonts can get tiny.

Note that width in these files doesn't matter, it's screen vertical height settings that is the core of the tiny fonts issue.

The files work by vertical pixel height settings in a "tall" value, not screen width.

It's important to get your head around that before editing and troubleshooting.

In this guide we can explore where these problem fonts are and what to adjust.

The file to adjust is "SourceScheme.res" also known as "TrackerScheme.res" in some older titles like HL1.

After the 19th Feb 2025 update, the actual file (sourcescheme.res) is in...

YourDrive_YourFolder\steamapps\common\Day of Defeat Source\platform\resource

The file is enormous but we can use a simpler format that overrides only certain items that matter in that file.

A little trick in this file is using the default one as a base and only placing in items you want to edit, overriding the default file.

First lets see where the fonts are and match that to a font item in the file.

 Font items in GUI

 The GUI fonts, where they are on the screen and what font that is in the file. Click to enlarge the image.

That is a little confusing "spaghetti" guide but it does show where the fonts you can adjust are.

Next is to look at the simplified version of the SourceScheme.res file that has just those adjustable items included.

So this file has just one setting and the default font size in "tall" for each adjustable font.

Note that the first one "DefaultFixedOutline" is the Netgraph font that isn't part of the GUI area but...that's where you adjust it, you can adjust that or leave it alone.

There is also a great tool for looking at your font changes and comparing all the fonts stored in the "ClientScheme.res" file (controls the HUD area).

In this case we are not doing that file as we are in the GUI area and SourceScheme.res controls that. But it is handy for seeing what fonts look like...

  1. Go into the console and put in this command "showschemevisualizer" 
  2. Up in the right hand top drop down to Fonts.
  3. Compare the fonts to your changes on screen, note the size / font title that is in the clentscheme.res file.
  4. Go to the ClientScheme.res file and find that font, apply the setting to your file.

You can also look at border types and colors.

 showschemevisualizer
 The "Scheme Visualizer" tool. showschemevisualizer command

 

The other fonts below that are in the GUI area and are the ones you can see in the image above.

 

To make and install the special SourceScheme.res file.

Now to make the file, you can open it in notepad or a proper editor like NotePad++.

  • Copy the below in the code block (next section) in a new document.
  • In "Save as Type:" save as a "All Types" Type and give it a "File Name" name and a extension of "SourceScheme.res".
  • Save it to new folder named "GUI_custom" (or any name you like) and inside that folder make another folder called "resource" the file goes in there....

So in the end your file address is like this...

Your Drive - Your folder...\steamapps\common\Day of Defeat Source\dod\custom\GUI_custom\resource\SourceScheme.res

That will override the SourceScheme.res in the game files and just the items listed in the file.

 

After Installing the file - adjust it.

So as a guide if you have a 4K screen (screen height of 2160) you may want the "Default" font, normally set at "16" to be around "20-22".

If you have a 5K screen (screen height of 2880) you may want to bump that up even more to "24" or even "26".

It's a matter of editing that size, save the file, opening the game and seeing if that suits.

Do that for all the fonts in that file and you should be able to adjust to get rid of the tiny fonts issue on your screen height.

  • I have inserted yellow text notes for the new dod:s issue of Main Menu Fonts that require adjustments in BaseSettings as well as the "MenuLarge" font.
  • The Netgraph font may work for you and if it doesn't there is another version below that has "yres" settings for different screens that adjusts fonts up and down, you may need this if you see your netgraph having a big gap making it wider.
  • Note: Remember when changing resolutions you should restart the game as some fonts don't display correctly changing "on the fly".
Code:
//INsane - dodbits 2025 - updated version for the main menu "MenuLarge" fonts Devious Toast [SAC] found some new BaseSettings
//Cut down version for editing the GUI and Netgraph fonts
//Other sections like Colours, borders and Custom font files have been removed
#base sourceschemebase.res
Scheme
{
	BaseSettings  // This group may help with large fonts when you use a large screen in windowed mode
	{
		MainMenu.MenuItemHeight	     "18"  //"22" adjusts the space between the main menu items (vertical padding)
	}
	Fonts
	{
		"DefaultFixedOutline" //Netgraph font See below set below for resolution fix if this doesn't work
		{
			"1"
			{
				"name"		"Lucida Console"
				"tall"		"10"
				"weight"	"0"
				"outline"	"1"
			}
		}
		"Default" // Almost all fonts in the GUI panels. Titles in most panels like "Server" title ect
		{
			"1"
			{
				"name"		"Tahoma"
				"tall"		"16"
				"weight"	"500"
			}
		}
		"DefaultSmall" // used in the Server Browser - the server list area
		{
			"1"
			{
				"name"		"Tahoma"
				"tall"		"13"
				"weight"	"0"
			}
		}
		"DefaultVerySmall" // The Title in "Options"-"Keyboard" list only
		{
			"1"
			{
				"name"		"Tahoma"
				"tall"		"12"
				"weight"	"0"
			}
		}
		"UiBold" //Fonts for all GUI panel Titles like "Servers" "Create Server" "Options" ext
		{
			"1"
			{
				"name"		"Tahoma"
				"tall"		"12"
				"weight"	"1000"
			}
		}
		"MenuLarge" // Main menu font - New game - Find servers - Options - Quit
		{
			"1"
			{
				"name"		"Verdana"
				"tall"		"10"    // "16" pre 18th Feb 2025 try "10" if too large
				"weight"	"0"   // Was "600" pre 18th Feb 2025 update now "0"
				"antialias" "1"
			}
		}
		"ConsoleText" // Console output text size 
		{
			"1"
			{
				"name"		"Lucida Console"
				"tall"		"10"
				"weight"	"500"
			}
		}
		"Marlett"  // This is for the arrows in the scroll bar and drop down box arrows.
		{
			"1"
			{
				"name"		"Marlett"
				"tall"		"14"
				"weight"	"0"
				"symbol"	"1"
			}
		}
	}
}

 

18 Feb 2025 update Main Menu font

This may not worry many and Valve may fix this. It could end up only affecting custom HUD's.

In the above I have some yellow text notes, adjust those.

In this update there is this... Added UI scaling for high-resolution screens

Some custom GUI and HUD's and some Monitor types may have larger fonts in the main menu.

I have added to the above the changes Valve made to the sourcescheme.res file.

 

To adjust see the code block above and...

Font is "MenuLarge"

I found "tall"    "10" was a better size.

I note that "weight" was "600" and is now "0"

Change your file and to those and test.

Also see the update to the "BaseSettings" you may need to adjust the vertical height spacing. (Menu Items Gap)

Now if that didn't work, read on, you may need a more complex file below that is also a download.

 

 

Netgraph and Main Menu scaling fonts - "yres" settings version.

If you are having issues with the Main Menu and net graph like wide gaps, consider using this version.

It should deliver better scaling of fonts as you change resolutions.

This may be handy for those that sometimes play in full screen and sometimes in a window.

Note: Remember when changing resolutions you should restart the game as some fonts don't display correctly changing "on the fly".

So this is a cut and paste but the section below goes into more depth on how separate sections in a font work on different screen heights.

 

Code:
//INsane - dodbits 2025 - updated version for the main menu Devious Toast [SAC] found some new BaseSettings
//Cut down version for editing the GUI and Netgraph fonts
//Other sections like Colours, borders and Custom font files have been removed
#base sourceschemebase.res
Scheme
{
	BaseSettings  // Main menu - This group adjusts the colors and vertical spacing of text
	{	
MainMenu.TextColor "White" [$WIN32] MainMenu.TextColor "200 200 200 255" [$X360] MainMenu.ArmedTextColor "200 200 200 255" [$WIN32] MainMenu.ArmedTextColor "White" [$X360] MainMenu.DepressedTextColor "192 186 80 255" MainMenu.MenuItemHeight "18" //"22" adjusts the space between the main menu items (vertical padding) MainMenu.Inset "32" //"32" MainMenu.Backdrop "0 0 0 156" } Fonts { "DefaultFixedOutline" //Netgraph font 6 Resolutions ("yres" height setting). Options are "Microsoft Sans Serif" "Georgia" "Impact" "Arial" { "1" //For screen heights between 480 and 599 eg 4:3 aspect Width 640x480 High, Width 720x576 High. 16:10 aspect Width 720x480 High { "name" "Arial" [$WINDOWS] // Standard is "Lucida Console" "name" "Arial" [$X360] //"Lucida Console" "name" "Arial" [$POSIX] // Apple Mac OS "Verdana" (default) "tall" "12" [$POSIX] // "tall" "12" // "weight" "200" //"0" // This is the thickness, like a bold setting "yres" "480 599" "dropshadow" "1" //"1" "outline" "0" //"1" //Adds a black outline around the text } "2" //For screen heights between 600 and 767 eg 4:3 aspect Width 800X600 High, ... 16:9 aspect Width 1152x648 High. { "name" "Arial" [$WINDOWS] // Standard is "Lucida Console" "name" "Arial" [$X360] //"Lucida Console" "name" "Arial" [$POSIX] // Apple Mac OS "Verdana" (default) "tall" "14" [$POSIX] // "tall" "14" // "weight" "200" "yres" "600 767" "dropshadow" "1" //"1" "outline" "0" //"1" //Adds a black outline around the text } "3" // For screen heights between 768 and 1023 eg 4:3 aspect Width 1024X768 High... 16:9 aspect Width 1360x768 High { "name" "Arial" [$WINDOWS] // Standard is "Lucida Console" "name" "Arial" [$X360] //"Lucida Console" "name" "Arial" [$POSIX] // Apple Mac OS "Verdana" (default) "tall" "16" [$POSIX] // "tall" "16" // "weight" "0" "yres" "768 1023" "outline" "1" //"1" //Adds a black outline around the text } "4" // 2K For screen heights between 1024 and 1199 (eg 16:9 aspect Width 1920x1080 High. { "name" "Arial" [$WINDOWS] // Standard is "Lucida Console" "name" "Arial" [$X360] //"Lucida Console" "name" "Arial" [$POSIX] // Apple Mac OS "Verdana" (default) "tall" "20" [$POSIX] // "tall" "20" // 12 is small and 24 is big "weight" "0" "yres" "1024 1199" "outline" "1" //"1" //Adds a black outline around the text } "5" // 2K QHD For screen heights between 1200 and 1439 eg 16:9 2560 X 1440 16:10 aspect Width 1920x1200 High.) { "name" "Arial" [$WINDOWS] // Standard is "Lucida Console" "name" "Arial" [$X360] //"Lucida Console" "name" "Arial" [$POSIX] // Apple Mac OS "Verdana" (default) "tall" "22" [$POSIX] // "tall" "22" // 16 is small 28 is big "weight" "0" "yres" "1200 2159" "outline" "1" //"1" //Adds a black outline around the text } "6" // 4K UHD - 16K For screen heights between 2160 and 8640 eg 16:9 3840 X 2160 and 5K 5120 X 2880 ...and more { "name" "Arial" [$WINDOWS] // Standard is "Lucida Console" "name" "Arial" [$X360] //"Lucida Console" "name" "Arial" [$POSIX] // Apple Mac OS "Verdana" (default) "tall" "30" [$POSIX] // "tall" "30" // 24 is small 40 is big "weight" "0" "yres" "2160 8640" "outline" "1" //"1" //Adds a black outline around the text } } "Default" // Almost all fonts in the GUI panels. Titles in most panels like "Server" title ect { "1" { "name" "Tahoma" "tall" "16" "weight" "500" } } "DefaultSmall" // used in the Server Browser - the server list area { "1" { "name" "Tahoma" "tall" "13" "weight" "0" } } "DefaultVerySmall" // The Title in "Options"-"Keyboard" list only { "1" { "name" "Tahoma" "tall" "12" "weight" "0" } } "UiBold" //Fonts for all GUI panel Titles like "Servers" "Create Server" "Options" ext { "1" { "name" "Tahoma" "tall" "12" "weight" "1000" } } "MenuLarge" // Main menu font - New game - Find servers - Options - Quit { "1" //For screen heights between 480 and 599 eg 4:3 aspect Width 640x480 High { "name" "Verdana" "tall" "16" "weight" "600" "yres" "480 599" "antialias" "1" } "2" //For screen heights between 600 and 767 eg 4:3 aspect Width 800X600 High, ... 16:9 aspect Width 1152x648 High.) { "name" "Verdana" "tall" "18" "weight" "600" "yres" "600 767" "antialias" "1" } "3" //For screen heights between 768 and 1023 eg 4:3 aspect Width 1024X768 High { "name" "Verdana" "tall" "20" "weight" "600" "yres" "768 1023" "antialias" "1" } "4" //2K For screen heights between 1024 and 1199 eg 16:9 aspect Width 1920x1080 High. { "name" "Verdana" "tall" "24" "weight" "600" "yres" "1024 1199" "antialias" "1" } "5" // 2K QHD For screen heights between 1200 and 1439 eg 16:9 2560 X 1440 16:10 aspect Width 1920x1200 High.) { "name" "Verdana" "tall" "34" "weight" "600" "yres" "1200 2159" "antialias" "1" } "6" // 4K UHD - 16K For screen heights between 2160 and 8640 eg 16:9 3840 X 2160 and 5K 5120 X 2880 ...and more { "name" "Verdana" "tall" "38" "weight" "600" "yres" "2160 8640" "antialias" "1" } } "ConsoleText" // Console output text size { "1" { "name" "Lucida Console" "tall" "10" "weight" "500" } } "Marlett" // This is for the arrows in the scroll bar and drop down box arrows. { "1" { "name" "Marlett" "tall" "14" "weight" "0" "symbol" "1" } } } }

 

 

A more complex file that will adjust for all resolutions.

We can make a more complex file to suit all resolutions and this is really only required if you are (like me) a person who makes custom GUI files that attempt to suit all screen heights.

It's not a task necessary for someone just doing a custom file for one resolution as some screens the default size scales OK, 800X600 up to 1920X1080 the default sizes will vary and still fit and be readable.

But the standard font "tall" setting is too much variance for the really big screen heights of 4K and above to call readable.

In each font you can see a section labeled "1".

Its just one setting.

In the .res files we can add more sections, then add a setting for a screen height called "yres" and control the screen height range to have multiple settings depending on what screen height the engine detects from the users settings.

So what does that look like in the code?

We can open up other files to look at how that is done like the more updated ClientScheme.res for the HUD items.

In the below code look at section "1" note the line "yres" "480 599"

That is for screen heights between 480 and 599. Why? Its traditionally for 600 wide X 480 high screens.

The "599" bit is just below a screen of 800 wide X 600 high.

Now look at "2" its for the next screen height range... "yres" "600 767" this suits a 800 wide X 600 height screens.

Again, why "767" is the maximum? Because the next screen height (in "3") starts at "768" a traditional (height) size for a 1024 wide X 768 screen.

Its the screen height that matters not the width. That's what the "tall" setting is doing, it's all about heights not widths.

As you can see, each section controls screen heights in a range using that "yres" value. Map makers and 3D modelers would recognize "y" as a height value in the 3D space, hence this value Y = height and RES = resolution ...its a yres value setting in the code.

So you could say...

Section "1" is for 640X480 screens

Section "2" is for 800X600 screens

Section "3" is for 1024X768 screens

Section "4" covers 2K For screen heights between 1024 and 1199 eg 16:9 aspect Width 1920x1080 High.

Section "5" covers 2K QHD For screen heights between 1200 and 1439 eg 16:9 2560 X 1440

Section "6" covers 4K UHD - 16K For screen heights between 2160 and 8640 eg 16:9 3840 X 2160 and 5K 5120 X 2880 ...and higher

Code:
	Fonts
	{

		"Default"
		{
			"1"
			{
				"name"		"Verdana"
				"tall"		"12"
				"weight"	"0"
				"range"		"0x0000 0x017F"
				"yres"	"480 599"
			}
			"2"
			{
				"name"		"Verdana"
				"tall"		"13"
				"weight"	"0"
				"range"		"0x0000 0x017F"
				"yres"	"600 767"
			}
			"3"
			{
				"name"		"Verdana"
				"tall"		"14"
				"weight"	"0"
				"range"		"0x0000 0x017F"
				"yres"	"768 1023"
				"antialias"	"1"
			}
			"4" //2K
			{
				"name"		"Verdana"
				"tall"		"16"
				"weight"	"0"
				"range"		"0x0000 0x017F"
				"yres"	"1024 1199"
				"antialias"	"1"
			}
			"5" // 2K QHD 
			{
				"name"		"Verdana"
				"tall"		"20"
				"weight"	"0"
				"range"		"0x0000 0x017F"
				"yres"	"1200 2159"
				"antialias"	"1"
			"6" // 4K UHD - 16K 16:9 3840 X 2160 and 5K 5120 X 2880 ...and more
			{
				"name"		"Verdana"
				"tall"		"24"
				"weight"	"0"
				"range"		"0x0000 0x017F"
				"yres"	"2160 8640"
				"antialias"	"1"
			}
		}
}
}

 But even that section is all the old school 4:3 and 5:4 ratio square type screens although sections "4" and "6" do cover the larger more modern screens

No wonder the files can't keep up. They were OK back in 2005-2013 when Source games were written and only a few problems were encountered but today those screen heights are just too big for even that set of files.

Its a problem for those of use playing old games on a TV monitor in 4K plus resolutions that the games were not designed for.

So... are there any other examples of recent edits to files that ValVe has done to address this?

 

Half-Life 1 example...

Yes... there is a edit to the Half-Life 1 files in 25th Anniversary update.

It can be found in Your Drive and folders....\steamapps\common\Half-Life\valve\resource\TrackerScheme.res

Open that file and go to "EngineFont" * and you get 9 sections.

*EngineFont in games like dod1.3 - Effects the dod HUD - Netgraph, Kills and Deaths, Target ID and server messages

Same rules apply to the "yres" setting, this further divides up the screen heights to make the larger screens "scale" the fonts with more choices.

Code:
 
		"EngineFont"
		{
			"1"
			{
				"name"		"Verdana"
				"tall"		"13"
				"weight"	"600"
				"yres"	"480 599"
				"dropshadow"	"1"
			}
			"2"
			{
				"name"		"Verdana"
				"tall"		"15"
				"weight"	"600"
				"yres"	"600 767"
				"dropshadow"	"1"
			}
			"3"
			{
				"name"		"Verdana"
				"tall"		"16"
				"weight"	"600"
				"yres"	"768 1023"
				"dropshadow"	"1"
			}
			"4"
			{
				"name"		"Verdana"
				"tall"		"21"
				"weight"	"600"
				"yres"	"1024 1299"
				"dropshadow"	"1"
			}
			"5"
			{
				"name"		"Verdana"
				"tall"		"28"
				"weight"	"600"
				"yres"	"1300 1699"
				"dropshadow"	"1"
			}
			"6"
			{
				"name"		"Verdana"
				"tall"		"35"
				"weight"	"600"
				"yres"	"1700 1899"
				"dropshadow"	"1"
			}
			"7"
			{
				"name"		"Verdana"
				"tall"		"42"
				"weight"	"600"
				"yres"	"1900 2499"
				"dropshadow"	"1"
			}
			"8"
			{
				"name"		"Verdana"
				"tall"		"56"
				"weight"	"600"
				"yres"	"2500 2999"
				"dropshadow"	"1"
			}
			"9"
			{
				"name"		"Verdana"
				"tall"		"70"
				"weight"	"600"
				"yres"	"3000 10000"
				"dropshadow"	"1"
			}
		}	

You can see why they have not fixed it. What a lot of work for every screen height from 480 pixels to 16K @  8640 pixels.

 

Is this worth the work? Options

So is it all worth doing new files right up to 16K screen heights for this very old game engine?

No. (for most)

You have two options.

1. If you have that massive resolution of 4K and above... just go to the Main Menu in the GUI and "Options" then "Video" and bring down the resolution to 1920 X 1080 (16:9 ration) or for Ultra Wide ... just get your screen height down to around 1080 height.

2. Or if you really think playing a game that doesn't improve anyway (my opinion I could be wrong) above heights of 1080, then go nuts and edit the standard file and don't do multiple settings like the above two code snippets.

Just remember, your huge native resolution height may not help in a game that was coded for a small screen.

Play the game in low resolutions like 1920X1080 is my advice.

Hope that helped no mater if you edit the files or not :)