Missing TCC characters on pre Vista systems
Posted: Sun Mar 22, 2009 4:33 am
SUMMARY:
If you have a pre Vista system and you update your usp10.dll file then PechaMaker 1.x and 2.x may start showing blanks for certain characters when you use any TCC typeface.
DETAILS:
I have just discovered that the Uniscribe (usp10.dll) version that is installed on your machine will affect text display even for programs that do not support Unicode. Apparently usp10.dll overlays the low level system calls that draw the text and for some reason Microsoft decided to stop drawing glyphs for character codes 129, 141, 143, 144, and 157. Each of the TCC font files makes use of one or more of those codes. Those glyphs could disappear within any program, it all depends on which usp10.dll version is being loaded by that program.
Most non-Microsoft programs, including PechaMaker, are affected by the usp10.dll that is in the WINDOWS\system32 folder. It would be rare that some system or application update would change that usp10.dll file; but it could happen. To make sure PechaMaker continues to show all glyphs, you could copy (not move) the WINDOWS/system32/usp10.dll file into the PechaMaker install folder. You would do this before applying any Microsoft updates.
I tested this on several different programs and editors, on all of them the usp10 version affected the display of those glyphs. On the other hand, the TCC fonts are the only ones I know of that use those char codes; it would not be likely to see this problem on any other typeface. On Vista systems, the stock usp10.dll already has this change so any programs that are designed for Vista will already have some way to deal with this.
*I realize this is kind of technical but it took me quite a while to understand what's going on; maybe this post can save someone some frustration. The change seems to be VERY low level because it affects ExtTextOut(), TextOut() and even DrawText(); for both the A and W versions.
If you have a pre Vista system and you update your usp10.dll file then PechaMaker 1.x and 2.x may start showing blanks for certain characters when you use any TCC typeface.
DETAILS:
I have just discovered that the Uniscribe (usp10.dll) version that is installed on your machine will affect text display even for programs that do not support Unicode. Apparently usp10.dll overlays the low level system calls that draw the text and for some reason Microsoft decided to stop drawing glyphs for character codes 129, 141, 143, 144, and 157. Each of the TCC font files makes use of one or more of those codes. Those glyphs could disappear within any program, it all depends on which usp10.dll version is being loaded by that program.
Most non-Microsoft programs, including PechaMaker, are affected by the usp10.dll that is in the WINDOWS\system32 folder. It would be rare that some system or application update would change that usp10.dll file; but it could happen. To make sure PechaMaker continues to show all glyphs, you could copy (not move) the WINDOWS/system32/usp10.dll file into the PechaMaker install folder. You would do this before applying any Microsoft updates.
I tested this on several different programs and editors, on all of them the usp10 version affected the display of those glyphs. On the other hand, the TCC fonts are the only ones I know of that use those char codes; it would not be likely to see this problem on any other typeface. On Vista systems, the stock usp10.dll already has this change so any programs that are designed for Vista will already have some way to deal with this.
*I realize this is kind of technical but it took me quite a while to understand what's going on; maybe this post can save someone some frustration. The change seems to be VERY low level because it affects ExtTextOut(), TextOut() and even DrawText(); for both the A and W versions.