[Tutorial] Font Modding

Results 1 to 11 of 11
  1. #1
    Account Upgraded | Title Enabled! Patchouli is offline
    MemberRank
    Jul 2009 Join Date
    300Posts

    [Tutorial] Font Modding

    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:


    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 a link on how to make new font libraries.

    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):


    So you can't just swap stuff with gfxfontlib.swf because the game is looking for $normalfont and $italicfont.
    Last edited by Patchouli; 14-08-16 at 02:13 PM.


  2. #2
    Apprentice raoweijie1 is offline
    MemberRank
    Aug 2016 Join Date
    10Posts

    Re: [Tutorial] Font Modding

    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

  3. #3
    Account Upgraded | Title Enabled! Patchouli is offline
    MemberRank
    Jul 2009 Join Date
    300Posts

    Re: [Tutorial] Font Modding

    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.

  4. #4
    Member aphexman is offline
    MemberRank
    Mar 2014 Join Date
    RussiaLocation
    62Posts

    Re: [Tutorial] Font Modding

    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!

  5. #5
    Proficient Member WAMVN is offline
    MemberRank
    May 2012 Join Date
    151Posts

    Re: [Tutorial] Font Modding

    Quote Originally Posted by aphexman View Post
    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.

  6. #6
    Member aphexman is offline
    MemberRank
    Mar 2014 Join Date
    RussiaLocation
    62Posts

    Re: [Tutorial] Font Modding

    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 by aphexman; 07-12-16 at 09:38 AM.

  7. #7
    Valued Member a4t333ch is offline
    MemberRank
    Jul 2019 Join Date
    129Posts

    Re: [Tutorial] Font Modding

    Quote Originally Posted by Patchouli View Post
    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:


    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 a link on how to make new font libraries.

    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):


    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?

  8. #8
    Novice kerser is offline
    MemberRank
    May 2018 Join Date
    3Posts

    Re: [Tutorial] Font Modding

    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.

  9. #9
    Proficient Member memvoicam is offline
    MemberRank
    Nov 2014 Join Date
    JapanLocation
    179Posts
    Quote Originally Posted by kerser View Post
    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 PyroSamurai; 10-08-21 at 12:32 AM.

  10. #10
    Apprentice Nitetime is offline
    MemberRank
    Dec 2018 Join Date
    21Posts

    Re: [Tutorial] Font Modding

    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.


    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.
    Last edited by Nitetime; 17-01-20 at 02:10 AM.

  11. #11
    Valued Member nokxx is offline
    MemberRank
    Jun 2013 Join Date
    142Posts

    Re: [Tutorial] Font Modding

    Can anyone knows how to fix this? I change swf fonts, and it works, but in settings and avatar shop name, only error boxes



Advertisement