Jump to content

RICHED20.DLL compatibility


Petr

Recommended Posts

Some time ago I wrote here that Metapad has big problems with international characters because of problems in riched20.dll.

Now I have found that the same problems (not only in Metapad) can be solved on Windows XP by using newer versions of riched20.dll. These new versions have some unresolved dependencies in delay-loaded modules but I'm not sure if it is real problem - my short tests found none.

I have prepared package riched20.zip that contains four different versions of riched20.dll

5.30.23.1221 - Windows XP SP2 (this one is present in the uSP 2.1a)

5.30.23.1226 - Windows XP SP2 KB896430

5.40.11.2212 - Office XP SP3

5.50.99.2012 - Office 2003 KB900459

Please test the newer versions (5.40 and 5.50) if they break anything.

Or maybe anybody already did these tests?

In case of success I'd suggest to add the highest functional version into the next uSP.

Petr

Link to comment
Share on other sites


Please test the newer versions (5.40 and 5.50) if they break anything.

Or maybe anybody already did these tests?

Petr, MDGx's RICHED9X.EXE contains a later version of RICHED20.DLL than the SE SP - 5.31.23.1224:

Newest RICHED20.DLL that works with 9x/ME I'm aware of is 5.31.23.1224 from Win2003 SP1:

http://www.mdgx.com/ws3toy.htm#SP1

Available as unofficial RTF (RichEdit) fix for 95/98/ME:

http://www.mdgx.com/add.htm#RTF

http://www.msfn.org/board/?showtopic=61407

Apologies for using this quote if more recent information/files make it obsolete now. I don't know if MDGx tested the later versions of RICHED20.DLL that are in your package, and he seems pretty busy at the moment, so I'm not sure if he's available to give any further input regarding his testing.

I'll try out the two later versions (in 98 SE) and post back any findings.

Link to comment
Share on other sites

Petr, MDGx's RICHED9X.EXE contains a later version of RICHED20.DLL than the SE SP - 5.31.23.1224:

Thak you for reminding me that we already discussed this topic.

Version 5.31.23.1224 has the same problem as all known 5.30.x.x versions.

In short, "ě" and "č" letters (maybe more) cause switching to different font for all 5.3x.x.x versions so the problem I'm trying to rectify is specific to some languages only.

But the possible incomaptibility of 5.40 and 5.50 versions would be the same in all language versions I suppose.

I forgot to mention that riched20.dll is language independent so it could be tested in any language Windows version.

Petr

Link to comment
Share on other sites

In which exact circumstances do the fonts switch ?

I haven't got any eastern european fonts but I never noticed any problem so far with the special accentuated characters of the western european fonts I am using (french, spanish, german characters etc).

Could you say what are the ASCII codes of those characters that create problems ?

I use riched20.dll 5.31.23.1224 and Riched32.dll 5.0.1461.82.

Link to comment
Share on other sites

In which exact circumstances do the fonts switch ?

I haven't got any eastern european fonts but I never noticed any problem so far with the special accentuated characters of the western european fonts I am using (french, spanish, german characters etc).

Could you say what are the ASCII codes of those characters that create problems ?

I use riched20.dll 5.31.23.1224 and Riched32.dll 5.0.1461.82.

"č" is E8 (0232) in codepage 1250

"ě" is EC (0236) in codepage 1250

See also http://www.microsoft.com/typography/unicode/1250.gif

I will do some additional tests and let you know.

Petr

Link to comment
Share on other sites

So this is my test result - very briefly:

I have prepared simple table with all characters with 8th bit set, i.e. code 80 to FF in hex, or 128 to 255 in dec. They can be manually enterd as ALT+0128 to ALT+0255. The table can be downloaded here.

In Notepad, with default fixedsys font in 1250 codepage, everything is correct because it does not use riched20.dll:

notepad-fixedsys-easteu.gif

In Metapad, with default fixedsys font in 1250 codepage and riched20.dll any version from 5.30.23.1200 to 5.31.23.1224, the display is broken significantly and at least 4 different fonts appear:

metapad-5.31.23.1224-fixedsys-easteu.gif

With riched20.dll 5.40.11.2212 (from Office XP SP3) everything look good, with exception of character AD (173), soft hyphen, that is not displayed at all. Maybe it is by design.

metapad-5.40.11.2212-fixedsys-easteu.gif

Surprisingly, riched20.dll version 5.50.99.2012 (from Office 2003) has the problem of 5.3x versions corrected only partially, just accented letters display correctly, but other signs (with code 132, 134, 135, 137, 149, 150, 151, 155, 161, 162, 178, 189, 255) change the font again.

I tried to set font to Courier - Western script and there are also font changes visible:

[Edit: it seems Metapad is too clever and always uses 1250 codepage (Central European) for displaying, even if 1252 (Western) is set. So I have renmoved the screenshot]

So if there will be no incompatibility with other applications, the best choice would be version 5.40.11.2212.

Petr

Edited by Petr
Link to comment
Share on other sites

The sole problem I have here is that the editors using riched20.dll (5.31.23.1224 ) do not display character 173 at all with any font. Otherwise no particular problems with the fixedsys font.

snap00081ue.png

snap00100ry.png

How can I know if I am in 1250 codepage like you ?

Edit : I have just read your post and I will try to find the place where to change codepage.

Edit 2 : MS-DOS codepage 850 in MSConfig. Is that the one ?

Edited by eidenk
Link to comment
Share on other sites

The sole problem I have here is that the editors using riched20.dll (5.31.23.1224 ) do not display character 173 at all with any font. Otherwise no particular problems with the fixedsys font.

How can I know if I am in 1250 codepage like you ?

Edit : I have just read your post and I will try to find the place where to change codepage.

Edit 2 : MS-DOS codepage 850 in MSConfig. Is that the one ?

Now I tried the same test on Windows 98 English and I have the same result as you - i.e. no problems.

Character 173 (soft hyphen) is displayed just with riched20.dll version 5.0.153.0, not with any newer version.

Codepage 1250 is native to some Windows 9x language versions, it cannot be changed because all system dialogs would become corrupted. Here: http://www.microsoft.com/globaldev/referen...sion.mspx#win98 you can find which language version has which ANSI and OEM codepage. (ANSI codepage is used in Windows and OEM codepage is used in DOS).

Petr

Edited by Petr
Link to comment
Share on other sites

I'm still not sure why on your screenshots are displayed characters from 1250 codepage but some of them witout accents. Maybe because your browser has changed the encoding? I have packed the file into zip archive: table2.zip, please let me know if your screenshots are still the same.

Anyway, it looks like 5.40.11.2212 versions has no display problems on all systems, now it is necessary to know if it works well with all possible applications.

Petr

Link to comment
Share on other sites

It does not do it with the new table. All the characters are properly accentuated.

snap00143lj.png

I didn't pay too much attention to this because I had my own ASII table test file and everything was OK with it.

snap00036ra.png

http://www.stashbox.org/uploads/1145195740/ASCIITable.txt

Riched20.dll 5.40.11.2212 has a non-existant dependency here, mso.dll. I guess it is a component of MS Office.

Link to comment
Share on other sites

I have tried now all the riched20.dll you have posted and I also have the problem with riched20.dll 5.50.99.2012 but not with any of the others.

snap00125ap.png

What is funny here is that this lower and upper case accentuated Z do not normally display on my computer but Metapad displays them from your file.

Link to comment
Share on other sites

It does not do it with the new table. All the characters are properly accentuated.

I didn't pay too much attention to this because I had my own ASII table test file and everything was OK with it.

Riched20.dll 5.40.11.2212 has a non-existant dependency here, mso.dll. I guess it is a component of MS Office.

The table is the same as the old one but maybe the character set was translated by the browser.

I wanted to have table with more characters per code to see if the font has changed or not.

The dependency to mso.dll is delay-load, maybe it is never used?. Yes, I already mentioned that it is from Office XP SP3.

Current SHLWAPI.DLL 6.00.2800.1740 (xpsp2.050831-1533) has also unresolved dependency to delay-loaded modules APPHELP.DLL (file missing), USERENV.DLL (file missing), OLE32.DLL (CoWaitForMultipleHandles missing), SHELL32.DLL (SHBindToParent missing) and everything seems to be OK.

Petr

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...