Skip to content
[Unofficial Mirror] A replacement of the Windows' gdi32.dll text rendering that brings beautiful, anti-aliased text similar to that on OS X and Linux.
Branch: master
Clone or download
Latest commit 47c0e0f Aug 5, 2014
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
MurmurHash Remove "using namespace". Aug 6, 2011
freetype/builds/win32/vc2008 More configuration types. Aug 30, 2011
gdipp_client Use Slim Reader/Writer lock to replace CRITICAL_SECTION (better perfo… Jan 10, 2012
gdipp_config Use Slim Reader/Writer lock to replace CRITICAL_SECTION (better perfo… Jan 10, 2012
gdipp_demo Use Slim Reader/Writer lock to replace CRITICAL_SECTION (better perfo… Jan 10, 2012
gdipp_freetype/freetype/config More configuration types. Aug 30, 2011
gdipp_hook
gdipp_lib Use One-Time Initialization for glyph run caching to avoid duplicate … Jan 10, 2012
gdipp_loader
gdipp_pre
gdipp_rpc Basic FreeType renderer implementation. Dec 29, 2011
gdipp_server
installer Add generic "cache_size" configuration instead of specific FreeType p… Dec 24, 2011
pic Update script. Sep 20, 2010
.hgignore Milestone on cleaning up gdipp_support and gdipp_lib. Dec 28, 2010
.hgtags
README.md
gdipp.sln

README.md

GDIPP

GDIPP is a replacement of Windows’ GDI text rendering that brings beautiful, anti-aliased text similar to that on OS X and Linux.

The project originated as the relaunch of GDI++. The source code of gdi++.dll project is too difficult to manage, so GDIPP is a new code-base. The goal of GDIPP project is to continue the development of gdi++, expand functionality, improve 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.

GDIPP Project supports both 32-bit and 64-bit Windows 7/Vista. You can install 32-bit and 64-bit components separately. The 32-bit components only renders 32-bit applications, while the 64-bit components only renders 64-bit applications in 64-bit Windows. Both components share the same setting file. GDIPP also works correctly on Windows XP and 2003. However, due to the significant difference in the system architectures, the rendering may be less stable and compatible. ezgdi is an alternative choice for a Windows text rendering replacement.

GDIPP has accomplished the following goals:

  • Client-server model
  • FreeType renderer
  • GGO renderer
  • DirectWrite renderer
  • GDI painter
  • Fine-grain glyph/glyph run cache synchronization
  • Project renaming and moving
  • Persistent caching (e.g. SQLite, Redis)
  • Support for vertical text
  • Support for right-to-left text
  • GDIPP Preview
  • Kernel-mode hooking (driver)
  • Windows Mobile systems support

Examples

The following pictures below illustrate the difference between the Windows font renderer ClearType and GDIPP. For each figure, the first picture is taken from ClearType while the second is taken from GDIPP. Pay attention to the anti-aliased effect GDIPP exhibits.

The examples use this text:

The quick brown fox jumps over the lazy dog 1234567890
敏捷的棕毛狐狸从懒狗身上跃过
すばしっこい茶色の狐はのろまな犬を飛び越える
날쌘 갈색 여우가 게으른 개를 뛰어넘는다

Segoe UI, and font linking to Simplified Chinese font Microsoft YaHei.

Microsoft YaHei - Since it has contains all characters, no font linking happens.

MS Mincho and default font linking setting.

You can’t perform that action at this time.