Lots of people think the problem is that TQ added a check to ensure that noone changes the fonts - this is not so. There is something they are doing new with the fonts (perhaps the antialiased outline-appearance) that certain fonts cause a crash with. It's not intentional, it's just that there's something that certain fonts have (or dont have) that causes the problem. I've tried to figure out what property the font files need, but I haven't figured it out yet.
The way I determined that there is not a check is I left font.ini to refer to Courier, as by default, and then I intercepted the function call in C3_CORE_DLL.dll that creates the logical font, and replaced the font name parameter with the name of another font. This function simply returns a font object, with no information as to what the font's name is. By making it load the font in this way, there's no possible way that they could check it as, as far as CO is concerned, it's loaded courier. When I do this with any font that doesn't usually work with Font.ini, the crash is experienced as usual. I also know from debugging the program that it appears the crash is a null-pointer dereference, but I am yet to determine what the font is lacking that leads CO to crash in such a way.
Anyone who is willing to toy with comparing/modifying fonts until you figure out what the font needs in order to work, that would be most useful.
The way I determined that there is not a check is I left font.ini to refer to Courier, as by default, and then I intercepted the function call in C3_CORE_DLL.dll that creates the logical font, and replaced the font name parameter with the name of another font. This function simply returns a font object, with no information as to what the font's name is. By making it load the font in this way, there's no possible way that they could check it as, as far as CO is concerned, it's loaded courier. When I do this with any font that doesn't usually work with Font.ini, the crash is experienced as usual. I also know from debugging the program that it appears the crash is a null-pointer dereference, but I am yet to determine what the font is lacking that leads CO to crash in such a way.
Anyone who is willing to toy with comparing/modifying fonts until you figure out what the font needs in order to work, that would be most useful.