Replies: 9 comments 18 replies
-
I do wonder, whether that will help me with the poor font rendering on XPSP3 on sourceforge, that happens on GDI when running the browser without cmdline-flag How can we test that DirectWrite-experiment? Which flags to set, and which files to copy in? |
Beta Was this translation helpful? Give feedback.
-
I'm still working on it. The kernel32 wrapper (different from progwrp in terms of linkage and patching) used for DirectWrite ran into some compiler bug that was just fixed (a locale table was being accessed as an offset of the default x64 image base, which would never work because the binary does not have a fixed base address). And then there was a problem getting service control manager handles from within the sandbox which was fixed. This leaves us with one bug, which prevents the display of the monotype fonts in the developer tools console. That's because the IDWriteFactory->CreateGlyphRunAnalysis method throws an exception if the provided matrix has an horizontal scaling value of 0. It will render if set to 1. However, developer tools console fonts fall back to GDI if Since it may take some time to determine why the matrix is initialized to 0, I am thinking about simply patching the binary further to force the horizontal scaling value to 1 if 0. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Here is the DirectWrite runtime for 32 bit platforms: Here is the DirectWrite runtime for 64 bit platforms: Here is the d3dcompiler_47.dll (3D acceleration) for 32 bit platforms (you may have to add Here is the d3dcompiler_47.dll (3D acceleration) for 64 bit platforms (you may have to add Place the DirectWrite runtimes in the same folder as your chrome.exe, while the d3dcompiler_47 runtimes can be placed in the same directory (pwrp_k32.dll is in both archives in case the user picks only one of the two packages). The d3dcompiler_47 runtimes are only needed on Windows XP and Windows Server 2003. The DirectWrite runtimes have been tested against English and Russian Windows. Microsoft Visual C++ 2015-19 runtime is presently required to use the DirectWrite runtimes. The DirectWrite runtimes will, of course, also be useful to users of Windows Vista, 7 and 8.x. They will be bundled with the next major Supermium releases with the VC++ dependency removed. A new colour emoji font will also be bundled in place of the existing font that was greatly compromised for XP GDI compatibility. |
Beta Was this translation helpful? Give feedback.
-
On my fully updated Vista SP2 x86 OS, I probed the DW runtimes (package dwritecore_xp_32.zip) with DependencyWalker-x86; I discovered that the package's 5 DLLs have a hard dependency in turn on below 5 DLLs:
(and all 5 of them depend on However, MS did never issue Win10 UCRT for NT<6.0, so one has to specify that the dependency on MSVC++2015-2019 is limited to NT 5.x (with the EoS version there being v14.28.29213.0 😜 ) ... Just as a FYI 😃 ; kindest regards. |
Beta Was this translation helpful? Give feedback.
-
It took me a bit over an hour to find the required MSVC DLL files for Windows XP, so I thought I'd link where I found them: https://github.com/abbodi1406/vcredist/releases/tag/v0.35.0 https://board.eclipse.cx/viewtopic.php?p=4502&sid=6ba138e588833271ef493133cc787254#p4502 It now works great--both DirectWrite and GPU acceleration. I'm now going to expereiment with turning of acceleration in my VM and see if it still works, so that GDI won't be needed at all. |
Beta Was this translation helpful? Give feedback.
-
I tested on XPSP3 x86: installed "Microsoft Visual C++ 14.28.29213.0 - last version compatible with Windows XP" from @Vangelis66 copied into the binary folder in extracted form: and started the browser with the following cmdline flags: As a result: I got for the first time 3D acceleration from @win32ss which I confirmed to be working by watching: But what I actually intended to test was the font rendering, and although I did not disable the webfonts in this test, the source-forge-test did still ugly-aliased fonts: Until now I do see no benefit in doing the Direct-Write-Fonting. Did I do anything wrong? For now I do still prefer to stick without the webfonts by passing cmdline param |
Beta Was this translation helpful? Give feedback.
-
@JoachimHenze The fonts do not look like that when I go to SourceForge. Those look like how it rendered when it was using GDI fonts. Are you sure you didn't force on GDI fonts in chrome://flags ? Also, do you have ClearType turned on on your system? If not, try turning that on, and then restarting Supermium. Also, what happens if you add --disable-lcd-text to your chrome options? |
Beta Was this translation helpful? Give feedback.
-
I have created bugreport for current |
Beta Was this translation helpful? Give feedback.
-
The number of GDI-related issues had recently grown to the point that it became difficult to support GDI. Frustrating the situation was that reproducibility of some of these issues was very poor. And Microsoft recently contributed support for the ClearType text tuner to Chromium.
So, I decided to standardize font rendering by allowing all Supermium-compatible platforms to run DirectWrite as well, fixing all GDI-related issues and also in future allowing for colour fonts:
A few minor issues are still present, but I intend on offering DirectWrite when all are fixed.
One problem is distribution. DirectWrite binaries cannot be distributed directly, but I think we can download a random Windows Update with the appropriate binary, extract it and then copy and patch it as needed.
Beta Was this translation helpful? Give feedback.
All reactions