- 2,531
- Posts
- 5
- Years
- बिहार, भारत। Bihar, India.
- Seen Mar 19, 2025
A Beginner's Guide To FONTS
This is a beginner's guide to Fonts in Pokémon Essentials. Here, I will briefly explain you all about what is the "Fonts" folder in the Pokémon Essential, what the "Fonts not installed error" is and how to use custom fonts in your game.
First, talking about the Fonts folder in Pokémon Essentials.
Fonts folder has many misconceptions. The main among these is that Developers think that RPG Maker XP or Pokémon Essentials access fonts from this folder, which is completely false. This is the only folder which is used by the Gamers and not the Developers. You must be thinking- Whatt is he saying? But wait, don't go, I am here to explain.
The Fonts folder is the folder of the Game which stores all the fonts used in your game. A clean version of Essentials always has 8 Fonts by default namely the following:-
1. pkmndp.ttf
2. pkmndpb.tff
3. pkmnem.ttf
4. pkmnemn.ttf
5. pkmnems.ttf
6. pkmnfl.ttf
7. pkmnrs.ttf
8. pkmnrsi.ttf
These are the fonts which PE(Pokémon Essentials) uses. But, the fonts are always accessed from-
Control Panel >> Appearance and Personalization >> Fonts
That is why I told that the Fonts folder in the Game is only for the Gamers. It is the place from where Gamers will install all the fonts and enjoy your game. This is also the reason why we always delete (or Encrypt) every Folder of Game but not Fonts folder. So, now you all must be familiar with the Fonts folder and its uses.
Let's move to the most common error- The "Fonts not installed error".
This message is triggered because the Game could not find the required fonts in the Control Panel. To solve this, i.e. install fonts, you can either open all fonts (the .tff files in the Game's Fonts Folder) and click on INSTALL option on the Top of the screen beside PRINT option. Do this for all Fonts.
Another way to do this is by the following process-
1. Copy all fonts. Press Ctrl+A to select all and then Ctrl+C to copy them.
2. Go to Control Panel. Search Fonts in the search box.
3. Click on Fonts option.
4. Paste the copied Fonts from Game folder to this folder. Do Ctrl+P.
5. Now, run the game again and you are good to go.
(broken link removed)
Till now, we have discussed about the Fonts folder and the Fonts not installed error. Now, we will see how to add new fonts and use them in our game.
To display custom font only in a textbox-
<fn=NAMEOFFONT>TEXT HERE<\fn>
Fill the value of fn to whatever font you want. For eg, if we want to display – "Hey! I am BJ." In Arial (since it is always installed in every Operating Systems), the code in the Text Box (the normal text box not the script box) will be-
<fn=Arial> Hey! I am BJ.<\fn>
To display custom font as the default one-
Go to Scripts section of RPG Maker XP. At SpriteWindow, search the following- FontName = "Power Green"
It should be the second line in a clean version of Essentials. Change "Power Green" to whatever font (installed in the system i.e. Control Panel) you want.
For e.g. if you want that Calibri be the default font, change that line to-
FontName = "Calibri"
If you want to use only this default font in the game and disallow players to choose different fonts from the Options Menu-
Spoiler:
Search for the following code in PScreen_Options and delete this entire code:-
Code:
EnumOption.new(_INTL("Font Style"),[_INTL("Em"),_INTL("R/S"),_INTL("FRLG"),_INTL("DP")],
proc { $PokemonSystem.font },
proc {|value|
$PokemonSystem.font = value
MessageConfig.pbSetSystemFontName($VersionStyles[value])
}
),
This process might be complicated to beginners but I have elaborated it as much as I could. I too wanted to do this and it was the reason I created this tutorial. So, without wasting any time, let's get started. In this example, we will add Pokémon BW fonts to our project. Download BW Fonts by metax from the attachments. Credit required when used.
Step 1-
Spoiler:
Go to SpriteWindow and search FontSubstitutes. This hash can be found at line 17 in clean Essentials.
Add a new entry in the Hash. It will look like the following:-
Note that the "Pokemon B/W Regular" is the file name of the font. To see this, double click on the font and see the name on the title bar. "Pokémon BW" is the substitute name for this font. You can name it whatever you want.
Add a new entry in the Hash. It will look like the following:-
Code:
FontSubstitutes = {
"Power Red and Blue" => "Pokemon RS",
"Power Red and Green" => "Pokemon FireLeaf",
"Power Green" => "Pokemon Emerald",
"Power Green Narrow" => "Pokemon Emerald Narrow",
"Power Green Small" => "Pokemon Emerald Small",
"Power Clear" => "Pokemon DP",
"Pokemon B/W Regular" => "Pokemon BW"
}
Step 2-
Spoiler:
Now, come to PScreen_Load and search for Filenames. This Array can be found at line 475 in clean Essentials. Add a new entry in the Array containing the filename of the font along with extension (.ttf). Since, the name of the font we are adding is pkmnbw, we will write "pkmnbw.ttf". See just below Filenames Array, there is Names Array. Add the name of the font as we have defined in the SpriteWindow. Since, the name of font was "Pokemon B/W Regular", we will add 'Pokemon B/W Regular' to the Names Array. It will look like the following:-
Note that the first value in Filenames Array is the filename and the first value in Names Array is the in-system name of the fonts. Always see that these are same for a font and that both these Arrays have same number of Argumants.
Code:
Filenames = [
'pkmnem.ttf',
'pkmnemn.ttf',
'pkmnems.ttf',
'pkmnrs.ttf',
'pkmndp.ttf',
'pkmnfl.ttf',
'pkmnbw.ttf'
]
# names (not filenames) of fonts to be installed
Names = [
'Power Green',
'Power Green Narrow',
'Power Green Small',
'Power Red and Blue',
'Power Clear',
'Power Red and Green',
'Pokemon B/W Regular'
]
Step 3-
Spoiler:
Come to PScreen_Options and search for $VersionStyles. There are 4 instances of it, but we have to edit the Array one which will be around line 130. Add the name of the font in here too, i.e. "Pokemon B/W Regular". It should now look like the following:-
Code:
$VersionStyles = [
[MessageConfig::FontName], # Default font style - Power Green/"Pokemon Emerald"
["Power Red and Blue"],
["Power Red and Green"],
["Power Clear"],
["Pokemon B/W Regular"]
]
Spoiler:
This edit will be in PScreen_Options. Search EnumOption.new(_INTL("Font Style") and add ,_INTL("BW") after _INTL("DP"). The code (at line 517 ) will look the following:-
The "BW" is the name by selecting which we will be able to change the FONT in-game via Options Menu.
Code:
EnumOption.new(_INTL("Font Style"),[_INTL("Em"),_INTL("R/S"),_INTL("FRLG"),_INTL("DP"),_INTL("BW")],
Now, we can easily change the game font to our custom font by selecting BW in the Options Menu.
Step 5- (Optional but Knowledgeable)
Spoiler:
Did you noticed that the $VersionStyles Array and EnumOption.new Array has same number of Arguments.
In fact, these two have a connection between them. The first Argument is the default game font. See the process of how we displayed custom font as the default one.
FontName is the string which stores the default font and is the actual value of the first Arguments in the Arrays of $VersionStyles and EnumOption.new.
But, there is also a place which automatically selects the first value of the Array. This is @font in PScreen_Options. You can see that the default value of @font is 0 i.e. @font=0. 0 links with the first Argument in the Arrays i.e. with the value stored in FontName.
If we want that the value be set to our custom font, we will see the position of the font in the Array. Since it is the 5th Argument in the Array, and Ruby starts with 0, we will edit the code to-
@font=4
In fact, these two have a connection between them. The first Argument is the default game font. See the process of how we displayed custom font as the default one.
FontName is the string which stores the default font and is the actual value of the first Arguments in the Arrays of $VersionStyles and EnumOption.new.
But, there is also a place which automatically selects the first value of the Array. This is @font in PScreen_Options. You can see that the default value of @font is 0 i.e. @font=0. 0 links with the first Argument in the Arrays i.e. with the value stored in FontName.
If we want that the value be set to our custom font, we will see the position of the font in the Array. Since it is the 5th Argument in the Array, and Ruby starts with 0, we will edit the code to-
@font=4
Attachments
Last edited: