• 0

gdipp - effect of text like Mac OS and Linux distributions for Windows


Question

I think some people know about gdi++ I think it's called, but it's only for 32bit and IMO is a bit poorly coded.

I came across this - http://code.google.com/p/gdipp/

The gdipp project is a replacement of the Windows default font render, which brings to you the effect of text like Mac OS and Linux distributions. It is easy to use, and it is customizable. The two pictures below illustrate the difference.Windows font renderer (ClearType)

ClearType.png

gdipp

gdipp.png

The project is originated as the relaunch of the suspended gdi++.dll project. Like the InkStone project, we found the source code of gdi++.dll project is too complex to manage, and decide to start over a new code base. The goal of gdipp project is to continue the development of gdi++, expand its functionality, improve its performance, provide better compatibility for the current and future Windows versions (potentially at the cost of removing compatibility for old Windows), create detailed and formal documentation, as well as tools to help using it.

The current release supports both 32-bit and 64-bit Windows 7/Vista.

The project is planned to be consisted of several components:

  • gdimm.dll. The main component of the gdipp project, counterpart of gdi++.dll. Most of the font management, text rendering and API simulating is taken place here. gdimm means gdi-- for emphasizing its design idea of simplicity comparing to gdi++.dll.
  • gdipp_loader. accept an executable file path as argument and run it, counterpart of gdi++.exe. If the process is successfully spawned, inject gdimm.dll to the running process, and the new process will render text with gdimm.dll instantly.
  • gdipp_svc. As a Windows service, it injects gdimm.dll to target processes, thus avoid enabling AppInit_DLLs for system-wide API hooking. It also coordinates system-wide glyph caching.
  • application integrator. Modify the import table of a executable to make it load gdimm.dll. The modified program can then be re-distributed to a native Windows environment while rendering with gdimm.dll.
  • preview. Preview rendering result with different configurations of gdimm.dll. Help discovering the best settings for every user.

Note to Windows XP and 2003 users: although the installer does not prevent you from installing gdipp, there are various problems such as explorer cannot start and many text cannot be rendered. Therefore we highly recommend you NOT choose the "Windows Service" and "Registry" load modes.ezgdi could be a better choice.
gdimm.dll plans
  • More functions

Project-scale plans

  • gdipp Preview
  • Kernel-mode hooking (driver)
  • Windows Mobile systems support

Works with 64bit :)

Of course it's an acquired taste, some people find this kind of rendering blurry. The project is fairly new though as you'll see from the change logs, so even if you don't want to use it permanently just now, one to keep an eye on.

Link to comment
Share on other sites

Recommended Posts

  • 0

Much better, the shadowy text is gone. (Y)

edit: Consolas now looks very much like the terminal text used in *buntu.

Link to comment
Share on other sites

  • 0

I just installed this... I can see no difference in any application (Vista x64) 32 or 64 bit.

I installed globally as a service... any good application to try it on? Do I need to install "different" fonts or fonts in a different location or... what am I missing?

Link to comment
Share on other sites

  • 0

I just installed this... I can see no difference in any application (Vista x64) 32 or 64 bit.

I installed globally as a service... any good application to try it on? Do I need to install "different" fonts or fonts in a different location or... what am I missing?

The latest version (as of last week) had a bug with rendering. Try the 0.81 build, as I know that works... using that now.

Link to comment
Share on other sites

  • 0

:blink:

Isn't font rendering one of the most-complained about things that people have about Linux? (I personally like how my fonts look in Linux, but it is a matter of personal taste).

Yep, same as OS X.

Funnily enough, people are so used to the rendering that Window uses (which is really designed for a CRT monitor from 1995), that when Microsoft try to improve it you get the same arguments.

Link to comment
Share on other sites

  • 0

Well Cleartype isn't designed for CRT's :p

And last time I tried this thing. it made the text look bold and blurry as if on a paper that was dipped in water.

Link to comment
Share on other sites

  • 0

Sub-Pixel AA isn't very well integrated into the GDI renderer, it's the same underlying renderer but the X direction edges are filtered.

When it's fully integrated into the renderer (like with the WPF renderer and DirectWrite), the results are nicer (X and Y direction anti-aliasing) and it allows for proper glyph positioning (which is where the complaints come in)

Edit: That is, taking proper advantage of the ability for the screen to render on a sub-pixel level allows you to position glyphs on a sub pixel basis (3x the horizontal resolution), the GDI renderer can't do that.

Link to comment
Share on other sites

  • 0

It's not actually 3x the horizontal res though, you can't count sub pixels like that, since they're meant to be only one pixel, and more so they're different colors :p and it's not like you can use just the right most sub pixel and leave a huge gap either.

And proper usage of sub pixel renderign may be nicer yes, but not the way this does it. just to damn fat and blurry.

Link to comment
Share on other sites

  • 0

It's not actually 3x the horizontal res though, you can't count sub pixels like that, since they're meant to be only one pixel, and more so they're different colors :p and it's not like you can use just the right most sub pixel and leave a huge gap either.

...

A proper font renderer can place the glyphs on those sub-pixels, DirectWrite, WPF, FreeType and Quartz have no problem starting a glyph 1/3rd of of the way into a pixel.

GDI can place a glyph at 0.0 or 1.0, the others can do 0.0, 0.3, 0.6 or 1.0. One side effect is that the stems of the glyphs are no longer forced to a single pixel in width, but that's a good thing as it allows for better measuring and positioning and reduces visual inconsistencies.

Link to comment
Share on other sites

  • 0

They still need to to it right so it doesn't look like bolded ****. and like it did with Neowin for me, make the text on the "tabs" so fat it could display the whole words for the selections. (news, files,forums...)

Link to comment
Share on other sites

  • 0

HI

I'm using GDIPP v0.9.1 on Windows 7 x64 and I enjoy it everywhere except FF5 (which seem that it doesn't make any use of it at all) and IE8 (which makes uses of it but only comparable to that font smoothing option in Safari "Medium - best for flat panel")

My question is: How to make GDIPP use the same font smoothing as in Safari with the "STRONG" setting for font smoothing EVERWHERE (browser and OS). This setting in Safari makes text look wonderful and I feel very jealous that this is not happening on FF5 which is my main browser.

Plz inform me what to do in order to have the "Strong" setting all over my Operating System including FF5. I feel like I need to change something in this file "gdipp_setting.xml" but I don't know what to do.

Thanks a lot in advance

Link to comment
Share on other sites

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.