Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

[Tutorial] Font Modding

Experienced Elementalist
Joined
Jul 19, 2009
Messages
297
Reaction score
39
This is for the EN-US client, but it should work with some other versions.

There are two types of fonts used in Vindictus. One is for the GUI (Scaleform, uses SWF/Flash).
The other seems to be used in stuff like the map, your character name, location text, etc, etc.

Important:
You need to set up your client to be able to read files outside of the HFS files.
First, rename/delete/move uptodateinfo.dat

You then need to find every HFS file that refers to a specific folder, and rename/delete/move them.
If you don't do this, Vindictus won't read that folder's files outside of the HFS.

For this tutorial, you'll need to find the HFS files that define what's inside Scaleform/Font and Font/
I've listed the EN-US files below, but other language versions will have other HFS with more languages.

Here are the contents of fontconfig.txt found in the EN-US version.
Code:
[FontConfig "English"] 
fontlib "font\fonts_en.swf"
map "$NormalFont" = "ITC Goudy Sans Std Medium" Bold
map "$ItalicFont" = "ITC Goudy Sans Std Medium" Italic

[FontConfig "DEUTSCH"] 
fontlib "font\fonts_en.swf"
map "$NormalFont" = "ITC Goudy Sans Std Medium" Bold
map "$ItalicFont" = "ITC Goudy Sans Std Medium" Italic

[FontConfig "Koreana"] 
fontlib "font\fonts_kr.swf"
map "$NormalFont" = "나눔고딕 Bold" Normal
map "$ItalicFont" = "조선일보명조" Italic

[FontConfig "Chinese"] 
fontlib "font\fonts_ch.swf"
map "$NormalFont" = "FZLanTingHei-B_GB Scaleform" Normal
map "$ItalicFont" = "FZLanTingHei-B_GB Scaleform" Normal

[FontConfig "Chinese_GM"] 
fontlib "font\fonts_ch_gm.swf"
map "$NormalFont" = "FZLanTingHei-B_GB Scaleform KOR" Normal
map "$ItalicFont" = "FZLanTingHei-B_GB Scaleform KOR" Normal

[FontConfig "English_eu"] 
fontlib "font\fonts_en.swf"
map "$NormalFont" = "ITC Goudy Sans Std Medium" Bold
map "$ItalicFont" = "ITC Goudy Sans Std Medium" Italic

[FontConfig "Japanese"] 
fontlib "font\fonts_jp.swf"
map "$NormalFont" = "Kozuka Gothic Pro B" Normal
map "$ItalicFont" = "Kozuka Gothic Pro B" Italic

[FontConfig "Japanese_GM"] 
fontlib "font\fonts_jp_gm.swf"
map "$NormalFont" = "MS PGothic" Normal
map "$ItalicFont" = "MS PGothic" Italic

[FontConfig "Taiwan"]
fontlib "font\fonts_tw.swf"
map "$NormalFont" = "DFPHeiBold-B5" Normal
map "$ItalicFont" = "DFPHeiBold-B5" Italic

[FontConfig "Taiwan_GM"]
fontlib "font\fonts_tw_gm.swf"
map "$NormalFont" = "DFPHeiBold-B5" Normal
map "$ItalicFont" = "DFPHeiBold-B5" Italic

Some versions have other files inside them.
The EN-US version contains JP and TH files. Notice that TH isn't even in fontconfig.txt


Non-Scaleform Fonts:
Extract the fonts from 311A228E7F66FF2C1BC7BCABC1DC2F618C21C51F.hfs and place them in Vindictus/Font (not Vindictus/Scaleform/Font).
You can then delete/rename/move 311A228E7F66FF2C1BC7BCABC1DC2F618C21C51F.hfs
If you don't remove that HFS, the game may not read fonts from the Font folder.
If you do not put these fonts into the Font folder, the game will be missing some text.

You can swap these extracted fonts with other fonts (ie. rename other fonts and place them in Font/)

For other versions, refer to the contents of fontconfig.txt and then do a search through all HFS files for every font listed in that file, and then delete/rename/move those HFS files.
Note that EN-US and EN-EU use the same fonts and SWFs.


Scaleform Fonts:
Delete/move/rename these HFS files:
6A172DB3A38CE24FD9A360CC3653996D3D772932 (contains font_en.swf)
74B96DDD1EAC6758197CD4FC6D92E1651786C4B1 (contains some other font stuff)
A90179D9C06E69D4AA064119E3DD35C074706637 (contains some other font stuff)
E7C053C28A49FC40DF21DEF50FDB156AD3F1953B (contains some other font stuff)

For other languages, you'll need to search through all the HFS files for "fonts" and then open each file to see if there's an SWF inside.
Alternatively, refer to the contents of fontconfig.txt and do a search for the fonts_whatever.swf listed there.
For example, fonts_en.swf, fonts_tw.swf, etc. Some versions will have other languages inside them.

Once you remove all the fonts_language.swf, the game will revert to its default font.
The default font is here:
C36BE4543267761296B4BD887760C0F5EC71A44A (gfxfontlib.swf)
gfxfontlib.swf goes in Scaleform/Font/ but you don't need to unpack it if you're not going to edit it.
The other font SWFs also go in Scaleform/Font/ (eg. Vindictus/Scaleform/Font/Font_en.swf)

This is what the default font looks like:
Patchouli - [Tutorial] Font Modding - RaGEZONE Forums


Font SWFs can be decompressed using swfdecompress, and probably swfzip.
RABCDAsm can't disassemble them (because they're just Font libraries).
Note that the game DOES load decompresed font SWFs.

To edit the fonts, it looks like you'll need Autodesk Scaleform.
Here's .

According to that link, fonts are named inside the library, with a prefix of $
In gfxfontlib.swf the two visible fonts are named $normalfont and $italicfont
Fontconfig.txt tells the game which of these to replace with other language fonts. For example:

[FontConfig "English"]
fontlib "font\fonts_en.swf"
map "$NormalFont" = "ITC Goudy Sans Std Medium" Bold
map "$ItalicFont" = "ITC Goudy Sans Std Medium" Italic

Simply replacing gfxfontlib.swf with fonts_en.swf results in text being replaced by invalid characters (boxes):
Patchouli - [Tutorial] Font Modding - RaGEZONE Forums


So you can't just swap stuff with gfxfontlib.swf because the game is looking for $normalfont and $italicfont.
 
Last edited:
Newbie Spellweaver
Joined
Aug 21, 2016
Messages
10
Reaction score
1
There are no data hfs directory structure, not just the model file need additional .tga .dds .xml .efx .dds
And other file storage path we are using zh-TW version of the 0205 with the boss can go in the bin, but what is the old creation interface and does not call the new version of the interface created in the new version of the dll can only think of no breakthrough ago I think of other ways of


Sorry poor English with google translation
 
Experienced Elementalist
Joined
Jul 19, 2009
Messages
297
Reaction score
39
You're talking about interface modification? You can swap the fonts fairly easily, but I think interface modification is tied to the bin folder dlls, as well as other files scattered throughout many folders. I haven't tried tracking all of them down yet.
 
Newbie Spellweaver
Joined
Mar 28, 2014
Messages
62
Reaction score
2
Hi
Patchouli! Do u know how to fix trouble with chat like "The texr you entered contained a word that is not allowed"?
Can explain if u know?
p.s. ty a lot for font changing!
 
Junior Spellweaver
Joined
May 11, 2012
Messages
152
Reaction score
10
Hi
Patchouli! Do u know how to fix trouble with chat like "The texr you entered contained a word that is not allowed"?
Can explain if u know?
p.s. ty a lot for font changing!

Search for Forbidden in heroes.db3 i think, there are a url in feature matrix and forbidden table i dont remember.
 
Newbie Spellweaver
Joined
Mar 28, 2014
Messages
62
Reaction score
2
sorrry recomendation not work, whp know another way?


i try to cleared and delete all forbidden/ all languages /IME - nothing happens

Yes i try to fix chat but its not work...

Chat cant allow wrong language
 
Last edited:
Joined
Oct 2, 2010
Messages
1,771
Reaction score
228
This is for the EN-US client, but it should work with some other versions.

There are two types of fonts used in Vindictus. One is for the GUI (Scaleform, uses SWF/Flash).
The other seems to be used in stuff like the map, your character name, location text, etc, etc.

Important:
You need to set up your client to be able to read files outside of the HFS files.
First, rename/delete/move uptodateinfo.dat

You then need to find every HFS file that refers to a specific folder, and rename/delete/move them.
If you don't do this, Vindictus won't read that folder's files outside of the HFS.

For this tutorial, you'll need to find the HFS files that define what's inside Scaleform/Font and Font/
I've listed the EN-US files below, but other language versions will have other HFS with more languages.

Here are the contents of fontconfig.txt found in the EN-US version.
Code:
[FontConfig "English"] 
fontlib "font\fonts_en.swf"
map "$NormalFont" = "ITC Goudy Sans Std Medium" Bold
map "$ItalicFont" = "ITC Goudy Sans Std Medium" Italic

[FontConfig "DEUTSCH"] 
fontlib "font\fonts_en.swf"
map "$NormalFont" = "ITC Goudy Sans Std Medium" Bold
map "$ItalicFont" = "ITC Goudy Sans Std Medium" Italic

[FontConfig "Koreana"] 
fontlib "font\fonts_kr.swf"
map "$NormalFont" = "나눔고딕 Bold" Normal
map "$ItalicFont" = "조선일보명조" Italic

[FontConfig "Chinese"] 
fontlib "font\fonts_ch.swf"
map "$NormalFont" = "FZLanTingHei-B_GB Scaleform" Normal
map "$ItalicFont" = "FZLanTingHei-B_GB Scaleform" Normal

[FontConfig "Chinese_GM"] 
fontlib "font\fonts_ch_gm.swf"
map "$NormalFont" = "FZLanTingHei-B_GB Scaleform KOR" Normal
map "$ItalicFont" = "FZLanTingHei-B_GB Scaleform KOR" Normal

[FontConfig "English_eu"] 
fontlib "font\fonts_en.swf"
map "$NormalFont" = "ITC Goudy Sans Std Medium" Bold
map "$ItalicFont" = "ITC Goudy Sans Std Medium" Italic

[FontConfig "Japanese"] 
fontlib "font\fonts_jp.swf"
map "$NormalFont" = "Kozuka Gothic Pro B" Normal
map "$ItalicFont" = "Kozuka Gothic Pro B" Italic

[FontConfig "Japanese_GM"] 
fontlib "font\fonts_jp_gm.swf"
map "$NormalFont" = "MS PGothic" Normal
map "$ItalicFont" = "MS PGothic" Italic

[FontConfig "Taiwan"]
fontlib "font\fonts_tw.swf"
map "$NormalFont" = "DFPHeiBold-B5" Normal
map "$ItalicFont" = "DFPHeiBold-B5" Italic

[FontConfig "Taiwan_GM"]
fontlib "font\fonts_tw_gm.swf"
map "$NormalFont" = "DFPHeiBold-B5" Normal
map "$ItalicFont" = "DFPHeiBold-B5" Italic

Some versions have other files inside them.
The EN-US version contains JP and TH files. Notice that TH isn't even in fontconfig.txt


Non-Scaleform Fonts:
Extract the fonts from 311A228E7F66FF2C1BC7BCABC1DC2F618C21C51F.hfs and place them in Vindictus/Font (not Vindictus/Scaleform/Font).
You can then delete/rename/move 311A228E7F66FF2C1BC7BCABC1DC2F618C21C51F.hfs
If you don't remove that HFS, the game may not read fonts from the Font folder.
If you do not put these fonts into the Font folder, the game will be missing some text.

You can swap these extracted fonts with other fonts (ie. rename other fonts and place them in Font/)

For other versions, refer to the contents of fontconfig.txt and then do a search through all HFS files for every font listed in that file, and then delete/rename/move those HFS files.
Note that EN-US and EN-EU use the same fonts and SWFs.


Scaleform Fonts:
Delete/move/rename these HFS files:
6A172DB3A38CE24FD9A360CC3653996D3D772932 (contains font_en.swf)
74B96DDD1EAC6758197CD4FC6D92E1651786C4B1 (contains some other font stuff)
A90179D9C06E69D4AA064119E3DD35C074706637 (contains some other font stuff)
E7C053C28A49FC40DF21DEF50FDB156AD3F1953B (contains some other font stuff)

For other languages, you'll need to search through all the HFS files for "fonts" and then open each file to see if there's an SWF inside.
Alternatively, refer to the contents of fontconfig.txt and do a search for the fonts_whatever.swf listed there.
For example, fonts_en.swf, fonts_tw.swf, etc. Some versions will have other languages inside them.

Once you remove all the fonts_language.swf, the game will revert to its default font.
The default font is here:
C36BE4543267761296B4BD887760C0F5EC71A44A (gfxfontlib.swf)
gfxfontlib.swf goes in Scaleform/Font/ but you don't need to unpack it if you're not going to edit it.
The other font SWFs also go in Scaleform/Font/ (eg. Vindictus/Scaleform/Font/Font_en.swf)

This is what the default font looks like:
Patchouli - [Tutorial] Font Modding - RaGEZONE Forums


Font SWFs can be decompressed using swfdecompress, and probably swfzip.
RABCDAsm can't disassemble them (because they're just Font libraries).
Note that the game DOES load decompresed font SWFs.

To edit the fonts, it looks like you'll need Autodesk Scaleform.
Here's .

According to that link, fonts are named inside the library, with a prefix of $
In gfxfontlib.swf the two visible fonts are named $normalfont and $italicfont
Fontconfig.txt tells the game which of these to replace with other language fonts. For example:

[FontConfig "English"]
fontlib "font\fonts_en.swf"
map "$NormalFont" = "ITC Goudy Sans Std Medium" Bold
map "$ItalicFont" = "ITC Goudy Sans Std Medium" Italic

Simply replacing gfxfontlib.swf with fonts_en.swf results in text being replaced by invalid characters (boxes):
Patchouli - [Tutorial] Font Modding - RaGEZONE Forums


So you can't just swap stuff with gfxfontlib.swf because the game is looking for $normalfont and $italicfont.

what part of source is this in vindictus can share me?
 
Initiate Mage
Joined
May 6, 2018
Messages
3
Reaction score
0
Hello i need help I want to use Thai in the chat box. But the game does not show Thai characters What do I do if I want to use Thai in the chat box? Thanks for the help.
 
Experienced Elementalist
Joined
Nov 8, 2014
Messages
233
Reaction score
14
Hello i need help I want to use Thai in the chat box. But the game does not show Thai characters What do I do if I want to use Thai in the chat box? Thanks for the help.

you make server Thai? i can help you

i try modding font but fail, who can make it ok?
 
Last edited by a moderator:
Newbie Spellweaver
Joined
Dec 15, 2018
Messages
21
Reaction score
11
There's a way to enable the languages in the database, but you also have to have all the fonts for them all to display properly.
Patchouli - [Tutorial] Font Modding - RaGEZONE Forums


In the Database table "FeatureMatrix" you'll just need to enable the "koKR" to be "1" depending on what version of client+server you use (in my case the "ZH-TW" column) and also set the other Features to NULL on the same column so it doesn't affect each other.
Patchouli - [Tutorial] Font Modding - RaGEZONE Forums
 
Last edited:
Junior Spellweaver
Joined
Jun 28, 2013
Messages
147
Reaction score
13
Can anyone knows how to fix this? I change swf fonts, and it works, but in settings and avatar shop name, only error boxes
Patchouli - [Tutorial] Font Modding - RaGEZONE Forums
 
Back
Top