Editing *.fon files

Lexx

Testament to the ghoul lifespan
Moderator
Modder
I wanted to use MrFixit with the german version of Fallout 2, but I have a problem -> the german letters "ä", "ö", "ü", "ß" and so on can not be displayed. It seems like they are not in the *.fon files, as far as I have understand Wasteland Ghost.
So my question is, does someone know, how I can edit the *.fon files? I wanted to add the missing letters so that I can use MrFixit with the german Fallout 2.
On the website of TeamX, they have a tool called "FON editor". With this it should be possible to view and edit the *.fon files, but I have no idea how to do this.

Can someone help me with this? :)
 
No. This is not what I need. I used this as standard on my Fallout installation and like I wrote in my first post, I can not see ä, ö, ü, etc. in the interface mode from MrFixit.

You see:

scr00002.png
 
I do not understand the problem, when you use the fix from falloutnow it should work or is there aseperate fon file for mr fixit?

I just download the mod, and as i can see there si no extra fon file, so whats the deal?
 
As I wrote, NO It doesn't work, because the mod does not change the *.fon files as far as I can see. If the mod would do it, then you could see the missing letters but as you can see in the posted image one post about yours, they aren't there.
 
Ahm and waht you will do again it? I mean why you will cahnge the FOn Files, when it does not work? -.-
 
lol.... I want to add the missing german letters ä, ü, ö, ß, Ä, Ü and Ö. But they are missing, like you can see in the image that I posted a few posts about yours. The red line shows where the missing letters are as example. There are tools for this (like the one from TeamX, I posted in my first post) but it doesn't work.

If I open the fonviewe.exe with "C:\fotest\fonedit1.0\fonview.exe FONT2.FON Font2.txt" (as example), the console opens, there is text very fast and then it closed - but no new text file there.
 
Ok, with the help from Wolna and his bat file, I could extract the files. But then comes the disillusion... The german letters are already there. So, just MrFixit seems to just not use it...

I looked over the script and there is this part, that I think, can handle it:

Code:
procedure get_char(var ostr, var str) begin
    if ostr==str then return "";

    cmp("A")
        cmp("1")
            cmp(")")
                cmp("%")
                    cmp("#")
                        charv_(" ","!");
                        charv("!","\"");
                        charv("\"","#");
                    end else begin
                        charv_("#","$");
                        charv("$","%");
                    end
                end else begin  
                    charv_("%","&");
                    charv("&","'");
                    charv("'","(");
                    charv("(",")");
                end
            end else cmp("-")
                charv_(")","*");
                charv("*","+");
                charv("+",",");
                charv(",","-");
            end else begin
                charv_("-",".");
                charv(".","/");
                charv("/","0");
                charv("0","1");
            end
        end else cmp("9")
            cmp("5")
                cmp("3")
                    charv_("1","2");
                    charv("2","3");
                end else begin
                    charv_("3","4");
                    charv("4","5");
                end
            end else cmp("7")
                charv_("5","6");
                charv("6","7");
            end else begin
                charv_("7","8");
                charv("8","9");
            end
        end else cmp("=")
            cmp(";")
                charv_("9",":");
                charv(":",";");
            end else begin
                charv_(";","<");
                charv("<","=");
            end
        end else cmp("?")
            charv_("=",">");
            charv(">","?");
        end else begin
            charv_("?","@");
            charv("@","A");
        end
    end else cmp("a")
        cmp("Q")
            cmp("I")
                cmp("E")
                    cmp("C")
                        charv_("A","B");
                        charv("B","C");
                    end else begin
                        charv_("C","D");
                        charv("D","E");
                    end
                end else cmp("G")
                    charv_("E","F");
                    charv("F","G");
                end else begin
                    charv_("G","H");
                    charv("H","I");
                end
            end else cmp("M")
                cmp("K")
                    charv_("I","J");
                    charv("J","K");
                end else begin
                    charv_("K","L");
                    charv("L","M");
                end
            end else cmp("O")
                charv_("M","N");
                charv("N","O");
            end else begin
                charv_("O","P");
                charv("P","Q");
            end
        end else cmp("Y")
            cmp("U")
                cmp("S")
                    charv_("Q","R");
                    charv("R","S");
                end else begin
                    charv_("S","T");
                    charv("T","U");
                end
            end else cmp("W")
                charv_("U","V");
                charv("V","W");
            end else begin
                charv_("W","X");
                charv("X","Y");
            end
        end else cmp("]")
            cmp("[")
                charv_("Y","Z");
                charv("Z","[");
            end else begin
                charv_("[","\\");
                charv("\\","]");
            end
        end else cmp("_")
            charv_("]","^");
            charv("^","_");
        end else begin
            charv_("_","`");
            charv("`","a");
        end
    end else cmp("q")
        cmp("i")
            cmp("e")
                cmp("c")
                    charv_("a","b");
                    charv("b","c");
                end else begin
                    charv_("c","d");
                    charv("d","e");
                end
            end else cmp("g")
                charv_("e","f");
                charv("f","g");
            end else begin
                charv_("g","h");
                charv("h","i");
            end
        end else cmp("m")
            cmp("k")
                charv_("i","j");
                charv("j","k");
            end else begin
                charv_("k","l");
                charv("l","m");
            end
        end else cmp("o")
            charv_("m","n");
            charv("n","o");
        end else begin
            charv_("o","p");
            charv("p","q");
        end 
    end else cmp("y")
        cmp("u")
            cmp("s")
                charv_("q","r");
                charv("r","s");
            end else begin
                charv_("s","t");
                charv("t","u");
            end
        end else cmp("w")
            charv_("u","v");
            charv("v","w");
        end else begin
            charv_("w","x");
            charv("x","y");
        end
    end else cmp("{")
        charv_("y","z");
        charv("z","{");
    end else begin
        charv_("{","|");
        charv("|","}");
        charv("}","~");
    end
    return "";
end

But I have absolutly no idea, how it could be possible to include the missing german letters.

Has anyone a idea for this? :/
 
Lexx said:
The german letters are already there. So, just MrFixit seems to just not use it...
This is a very very long shot, but if you open the font file in a hex editor, are the first 4 bytes 0x80, 0x00, 0x00, 0x00? If they are, change them to 0x00, 0x01, 0x00, 0x00 and try again.

Failing that, I have a half finished graphical font editor lying around somewhere. I'll see if I can coax it into working order for you.
 
They are 00 01 00 00 as far as I can see.

The letters are also in the textfile. As example, the Ü:

Code:
Glyph 220 (0xDC)
================
Width: 6
Offset: 0x00000884 (2180)
Offset from begin of file: 0x00001098 (4248)

##..##
......
##..##
##..##
##..##
##..##
##..##
.####.
......
......
 
Lexx said:
They are 00 01 00 00 as far as I can see.
ok, after a bit of searching around my hard drive, I don't seem to have a half finished .fon editor, but rather a half finished .aaf editor. I forgot fallout had two types of font files...

I have no idea when fallout uses the .fon's and when it uses the aaf's, but it might be worth checking that the missing characters exist in the aaf's as well as the .fon's just in case.
 
Back
Top