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…


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…


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…


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…


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…


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…


WPF 4.0 Text Stack Improvements

Please note that the screenshots in this post are not displaying correctly. To view them in their full fidelity, right click on them and save them as a .PNGs.  Then use your image viewing program of choice.     Text Formatting API The attached property TextOptions.TextFormattingMode has been introduced to switch the text metrics used…


Back to WPF Text Blog

Since DirectWrite will now be using a different blog, the name of this blog will return to WPF Text Blog. – Chipalo


DirectWrite blog posts moving to the DirectX blog

In order to consolidate information from various blogs about the DirectX family of APIs, we have created a central DirectX blog site -http://blogs.msdn.com/DirectX/   All future posts on DirectWrite will be posted on the DirectX blog along with information on other DirectX APIs.   If you are using a RSS reader to monitor DirectWrite postings, please…


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…