About the font problem...

05/04/2007 19:15 booboohead#1
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.
05/04/2007 19:41 jaymehta2511#2
Ok so in simple way we need to check out all the fonts one by one and check out which is working and which is not??
05/04/2007 19:47 booboohead#3
Not check out all of them, a relatively small sample size would be useful. Like this, for example (i've been trying this)


Courier works, Verdana works, Script doesn't work (though I wouldnt want to use it, it works for example)


So, the question is not WHICH fonts work it's WHY do some work when others dont. With certain font editing programs, I can even open up courier's font, save it without changing anything (though clearly it is missing something because the size is smaller) and it wont work. With other programs I can do that and it does work. I've tried slowly removing aspects of the fonts (though I haven't found a very decent font editor yet) and trying to determine what breaks it. No success yet.

But, if you can take a working font, and gradually remove/change things in it until you isolate what makes conquer crash, that could lead to us solving the problem by simply taking any font you want to use and adding what it needs.
05/04/2007 19:51 jaymehta2511#4
GOT YAAAA!!!! Willing to help and will as fast as i can :P
05/05/2007 05:09 bone-you#5
I'm sure it's already known, but have you looked into these?

10436=ËÎÌå
10437=14
10460=ËÎÌå
10461=16
from StrRes.ini

They're loaded also.
05/05/2007 08:02 Trojan-Virus#6
Quote:
Originally posted by booboohead@May 4 2007, 19:15
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.
:whow: if you figure that out let us know bud ...
05/06/2007 02:27 bone-you#7
uh, try adding the font into strres.ini also. Replace all instances with it o.o see if that fixes the crashing of those some fonts.
05/06/2007 03:08 Matt.dk#8
Ever since they started putting the outline on chat text in-game, only mono spaced fonts will properly load. I hope that puts you a step in the right direction. Try any monospaced font and see for yourself. :bandit: