When Altium introduced support for true type fonts, we faced many dilemmas when we investigated how we would support them in our 3D tools. The Altium SDK provides a function that returns shapes made up lines forming the text. “Problem solved” we thought, but when we implemented this, the lines were sometimes very short, to point that they were sometimes the same length as our shape closing tolerance. Also, the shape of the outline for True Type text we get from Altium is not very smooth (see the screen shot of the tail of a lower-case t), so we could not apply any of our smoothing routines.
The result was a shape that was exactly the same as you see in Altium, but it was made up of thousands of lines and we could not guarantee it would extrude.
We decided we needed a more practical alternative. We opted to use Sketch Text. That is, rather than place shapes into the sketch, we place a text element. This proved to be a reasonable solution as the text would always extrude and the sketch drawing time is reasonable.
The compromise was that we could not exactly match the text size.
We developed some routines that use the windows Text Metric structure to match the Altium font size to the SolidWorks font size. This was not perfect, but a reasonable comprise.
We always wanted this make this better, but could not see the solution. At some point, we became aware of a number of not very well-known windows api functions that allow you to get the shape of text (provided mainly for printer driver developers). Some more digging threw up some Delphi open source libraries that allows these windows api functions to be easily called from our Delphi code.
With appropriate scaling, we could get a perfectly smooth shape for the text, allowing us to apply our smoothing routines.
A day of programming and testing resulted in the Optimise True Type Fonts option in both our Altium Modeler for SolidWorks and the IDF Modeler for SolidWorks.
This option creates shapes that should always extrude and use 60% fewer lines.