Booleans in 2D Curves don't support self intersecting curves. Text is just a fancy curve.
Two overlapping shapes of the same curve object, will show the difference boolean.
As you can see in the above gif, there appear to be errors at the intersections, which cause some problems with the tesselation.
In an open tasks Campbell Barton says:
[...] its not a bug because the code is working as intended.
Of course adding support for self intersecting curves could be a
The font features some problematic self intersection bezier shapes, which cause everything to render incorrectly. Removing this shape form the T character
result in a correct shape.
You can fix this manually by ⎇ AltC converting the Text to a curve. And then removing the problematic curves.
This can be also easily achieved, by separating various parts in edit mode.