Available as part of Windows XP and Windows .NET Server, GDI+ is a valuable technology because of its excellent support for two-dimensional (2D) graphics and imaging and its optimal support for text and fonts. While GDI+ does not replace GDI as a graphics device interface, GDI+ does offer considerable advantages over GDI. GDI+ expands GDI support for 2D graphics by providing linear and path gradient brushes for filling shapes, paths, and regions. GDI+ text and font support has also been greatly improved over GDI. Unlike GDI, GDI+ supports resolution-independent layout, guaranteeing that text layout and line breaks will not change as the resolution of the output device changes.
International features of GDI+ include its ability to handle various scripts and fonts. For example, two Unicode code points can be represented by one glyph or vice versa. Also, Graphics classes and methods allow your application to enumerate fonts installed on the system, create font collections that are private to the application, and obtain font design metrics. Additionally, these classes and methods let you draw text horizontally or vertically, and allow you to apply special formatting like horizontal and vertical alignment, tab stops, and hotkey prefixes to multilingual text. Another international feature of GDI+ is its use of font fallback. Finally, anti-aliasing and ClearType enhance readability of text on the screen.
When working with GDI+, you should consider the differences that exist among various scripts. While character reordering or characters that combine are not issues in Latin-based text, they are an important component of other scripts, such as complex scripts. You will need to design your application with these differences in mind. Also, rather than displaying one character at a time, it is better to display an entire line of text to account for character reordering and for characters that combine to form ligatures.