[FE12] Needing help with editing the font

Hi guys and girls,
I have an old friend who joined a FE12 translation team which translates the game into german. They ran into some big problems with the font and they really need help with it, so they ask me to ask you guys.
The german language uses some letters, that the english language dosen’t use (Ä, Ö, Ü, ä, ö, ü. ß) and that’s what causing the problem. There are two kinds of fonts: One for the menus and one for the dialogue. We were able to fix it with the menus font, but still have problems with the dialogue’s.
The font is LZSS compressed, so without the right decompressor (which they haven’t) they can’t edit other unused letters and replace them with the needed one.
So, they thought of implementing the missing letters themself, which isn’t quite working.
Maybe someone here, can help them out in figuring out, which is the right pointer, they need to edit:

Here is waht we know so far about the dialogues font file:
The first 4 Bytes are pointers to the file end withou offsets.
The next 4 Bytes ware Pointers, which point to a pointer table at the footer
The following 2 Bystes are the amount of pointer in the table
It’s followed by some zeros…
The Pointer table goes from 0x20 til 0x313 and contains pointers for codes and glyph-pointers.
Then again some zeros…
0x320 - 0x362F contains the codes and glph-pointer
0x3630 - 0x1C397 are the glyphs grafics
0x1C398 - 0x1DE97 is the footer table which has pointers to every pointer in the file

That’s all that the project leader could tell me about the file. If you like, you can also take a look at FE11. By the way, the EU-FE11 displays the needed letters over a very complicated way.

That’s the Bytes they used for the speacial letters so far:
0x96 -
0xDC Ü
0xFC ü
0xC4 Ä
0xE4 ä
0xD6 Ö
0xF6 ö
0xDF ß

The file:

I would recommend PMing VincentASM on SF, he would probably know the most about this

… Seriously? NDS has mostly the same BIOS functions as GBA, and in particular it has basically the same decompression routines for the same formats. Give the data to, for example, GBAGE and you should be golden.

Or did they really do something non-standard here for no reason? If you can provide the actual graphics data I can take a look and see if it matches up with any other known format specifications… LZ is basically a whole family of related compression algorithms with a bunch of minor variations in how the data is stored, and the parameters for ‘sliding window size’ and ‘maximum match length’.

Edit: Ok, I checked Wikipedia, and

The main difference between LZ77 and LZSS is that in LZ77 the dictionary reference could actually be longer than the string it was replacing. In LZSS, such references are omitted if the length is less than the “break even” point. Furthermore, LZSS uses one-bit flags to indicate whether the next chunk of data is a literal (byte) or a reference to an offset/length pair.

So the funny part here is that the compression on GBA, which we have always called “LZ77”, does things the LZSS way.