Blind Comparison VS2008 vs. VS2010

The text clarity improvements in WPF4 bring WPFs text rendering to near GDI compatibility. Below is another set of comparison shots between VS2008 (GDI) and VS2010 (WPF4). These were taken with the newly released VS2010. I have intentionally not marked which screenshot is from which version of VS. Test yourself and see if you can…

4

ClearTypeHint

ClearType text filtering relies heavily on alpha blending (overview of ClearType). This algorithm must know the color of the text and the color behind the text before creating the final glyph bitmap. Determining the background color can sometimes be a very expensive process (eg. text in a container with a partially transparent background). In order…

3

WPF Text Measurement Units

The WPF text team has seen some people get confused about what units WPF uses when measuring text. Samer, a developer on the WPF text team, and I have created this post to try and shed some light on this subject. The first part of this post is very straight forward, whereas the end will…

3

Custom Dictionaries

Most current editors provide built in spell checking which validates user input. Spell checkers can be found in anything from word processors, to email clients, and even web browsers. Depending on the scenario, these spell checking utilities vary in complexity. Simple spell checkers compare the input against a default dictionary and then highlight mismatches. More…

10

Bindable Run

Since the initial release of WPF, Run.Text has been a normal CLR property. This has meant that Run.Text lacks all the benefits of the WPF dependency property system, most notably the ability to be bound. In some cases, one could substitute Runs for TextBlocks, which can be bound to; however this can quickly create text…

4

Caret Brush

WPF provides extensive customizability to app authors, allowing them to change the default look and feel of most controls. One exception to this has been the color of the caret in WPF TextBoxes and RichTextBoxes.  Since this functionality was not originally provided, the community has been forced to create complex workarounds. In WPF 4.0, control…

0

Selection Brush

The default visual appearance of most objects in WPF can be easily tweaked, if not swapped out for a completely different visual tree.  This provides developers far greater power over the visual look of an application than ever before. Facilitating the creation of highly customized apps has become a major adoption point for WPF. Despite…

2

Layout Rounding

WPF’s layout engine frequently gives elements sub-pixel positions. Antialiasing algorithms cause these sub-pixel positioned elements to be rendered over multiple physical pixels after filtering. This can result in blurry lines and other non desirable rendering artifacts. Layout rounding has been introduced in WPF 4.0 to allow developers to force the WPF layout system to position elements…

12

New WPF 4.0 Features

WPF 4.0 Beta1 was released last month. While many exciting features were included in Beat1, there was no work targeting text, flow, or layout. This will all be reversed with WPF Beat2. Below is a brief overview for each of the features included in Beta2 which target text, flow, or layout. I will make subsequent…

14