Missing TCC characters on pre Vista systems

This forum is a place for users to discuss how they use PechaMaker.
Problems and questions can be posted.
The information will then be available to everyone.
Post Reply [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable
User avatar
FWJ
Site Admin
Posts: 88
Joined: Thu Jun 23, 2005 8:50 am
Location: California
Contact:

Missing TCC characters on pre Vista systems

Post by FWJ » 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.

Bj Lhundrup
Posts: 29
Joined: Sun Jan 01, 2006 2:15 am
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Post by Bj Lhundrup » Tue Mar 24, 2009 9:12 pm

My friend how have you been? I hope all is well.

Well now that I am on a new PC and it is Vista, I have had a lot of problems with TCC fonts as we all know. I just have the newer version for TM meaning my other fonts and favorite one have this very same problem you were talking about. Do you know if this solution you posted will work for Vista? The copying and adding of the ( dll ) into the PM folder.

I have taken to viewing all my old files with the UDP and in Uni-fonts as it is easy to do and fast.

However this ( dll ) file you are talking about, is this a version of the DLL that someone gets with an upgrade/update on XP? Because out side of needing it for Uni display why would one need to keep this say over an older version that was working perfectly?

Ps.
Are you still thinking about uni support and key boards for PM?

Pss.
And I need a little advice on adding images (3 to a page) in the center of a page while still having writing on either side, evenly. I have not been able to figure it out.

User avatar
FWJ
Site Admin
Posts: 88
Joined: Thu Jun 23, 2005 8:50 am
Location: California
Contact:

Missing TCC characters on pre Vista systems

Post by FWJ » Wed Mar 25, 2009 12:33 am

Hello Bj!
Good to hear from you, and I'm glad you are up and running again.

Was your plan was to copy an older XP usp10.dll over to the PM install directory on a Vista machine? I don't think that will help. I only have limited access to a Vista machine but I did try that and Vista somehow ignored the old version in the local folder and still used the system32 version for PM; so those glyphs were still blank. Let me know if you want to try this on your Vista box and I'll send you PM 1.12 because starting with version 1.13 PM checks for Vista and no longer attempts to do it the old way. If you could get it to work that would help everyone!
Bj wrote:However this ( dll ) file you are talking about, is this a version of the DLL that someone gets with an upgrade/update on XP? Because out side of needing it for Uni display why would one need to keep this say over an older version that was working perfectly?
Yes, that's how you would get it, and yes you would need to keep it. Here's my thinking... You might get a newer usp10 version when you apply any Microsoft update, because that thing being updated is expecting certain usp10 functionality. A Word or Excel update would probably put the new usp10 in some private directory that only it would use (so that wouldn't cause a problem for PM). A system update (on pre Vista) will put the usp10 in system32 and this would affect PM; but as of XP SP2 the usp10 version 1.420.2600.2180 is OK. (I haven't tried SP3 which is 1.420.2600.5512 but I'm sure it's OK too.) The problem might come if you update something like IE or WMP; I don't know where they put/get their usp10 and if it gets into system32 then PM (and other apps) would start showing blanks. But all you need to do to fix it is copy an older usp10.dll into the PM folder. (This paragraph is about Win2K/XP; apparently a local copy doesn't help on Vista.)
Bj wrote:Are you still thinking about uni support and key boards for PM?
Yep; working on it now and it will support the BO Tibetan (PRC) keyboard, see When to support Unicode Tibetan fonts?

I never got around to adding support for a centered image. I'll go back and take a look.

Post Reply
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable