It may appear somewhat crazy for a .Net developer, but I’ve spent the whole of today practicing TDD with C++. My goal – writing a parser that can interpret my own custom notation for OpenType and turn it into rendered text via DirectWrite.

The darn thing took a whole day of my life!

But, hard work and perseverence have paid off. TypograFix is now capable of understanding OT markup. What do I mean? Okay, here’s an example. Suppose I write the following:

[30,i,sw]A[/i,sw]nother [sc,24]Day In[/sc] [Constantia,i]Paradise

On my machine, here’s what I actually get:

Essentially, what I’ve made is a markup-driven rendering system that can create perfect CT/OT text. This fits nicely with my original plan of adding image generation – now I have two rendering methods, one for automatically replacing headings (already using it in places!) and this, the so-called ‘freeform’ text. So far, I have added support for

  • Font size & face
  • Italics & swash
  • Small capitals
  • Ligatures

What’s next, then? In terms of TypograFix, I’m very happy with what I have already, but I will be working on adding support for directed graphs (and no, not using GraphViz), and maybe support for mind maps. If you have access to the private distribution of TypograFix, you have every reason to be excited!

I might also resume work on DevTalk, though the complete lack of any actionwhatsoever from other project members is downright demotivating.