TrueType in AutoCAD – Font Problems Revisited

By on November 8, 2005

Despite the numerous advantages of TrueType fonts over the clunky old DOS-era pen-plotter oriented SHX fonts that AutoCAD had since its inception in the 80’s, many AutoCAD users still shy away from using TrueType.  Their reasons include:

  1. We’ve always done it this way.
  2. TrueType makes the drawing display too slowly on screen.
  3. Some instances of text using Truetype display poorly while others are good.
  4. TrueType text in Modelspace fails to cut off at the viewport boundary when seen from Paperspace.

No-one can do much to answer objection 1!  Issue 2 certainly used to be very true, but has been generally overcome in AutoCAD 2000 of not R14.  However, there are still particular instances where slowness occurs, and I think this is related to issue 3 as will be explained below.  Issue 4 has no solution other than not to use viewports that chop text off in mid-word.  This problem may have been overcome in the latest versions; I haven’t checked it.

The main valid issues are display slowness and erratic display.  In AutoCAD 2000 display speed is normally perfectly satisfactory.  Where it isn’t, the problem of not-too-good display quality of text is also likely to be apparent to some degree.  The reason is that AutoCAD tries to provide some text characteristics that are not built-in capabilities of the TrueType system, and if you employ one of those characteristics, AutoCAD has to use a kludgey form of rendition to achieve it.  It would be better if they simply greyed-out the problem features.

Using the old SHX font system, which was designed for pen-strokes, you can select any character width factor.  A width of 1 displays the characters in the width-to-height ratio that was used in the font design.  A factor of 0.5 displays the letters compressed to half-width and 2 makes them fatter.  You can also set any ‘obliquing angle’ which is the SHX way of making italics.  Zero degrees gives the default upright letters while 5.0 makes them lean to the right by 5 degrees, and –5.0 makes them slope to the left (‘backhand’).  With SHX, you control the ‘weight’ of the letters by the thickness of the pen used, which was controlled by the text colour.  In the modern context, this controls the line-width of the raster-based inkjet or laser printer.

With TrueType fonts, the character line-weight is built into the font definition because they are (or should be) defined as outlines that get automatically infilled.  As you increase the font size, the character weight increases proportionally automatically.  Hence there is no need to fuss about pens or line-weights with TrueType – it ignores them.  For ‘Italic’ style and ‘Bold’, TrueType uses ‘families’ of font definitions and you select the one desired – Normal, Italic, Bold or Bold-italic.

In AutoCAD, the ‘Italic’ and ‘Bold’ attributes are offered but greyed-out when SHX fonts are used.  However, the ‘slope’ and ‘width factor’ attributes that apply to SHX fonts are not greyed-out when TrueType is used, and I consider they should be.  If you use TrueType and use any ‘slope’ or ‘width’ attributes, AutoCAD mimics the TrueType font characters using internally generated bitmaps.  This is what then causes slow display and can also cause poor quality or ragged appearance.  The slow-down can be quite extreme.

The remedy is simple.  Use TrueType because of its vastly better appearance but only use native TrueType attributes: ‘bold’, ‘italic’ or both.

  • Don’t use a width factor other than 1.
  • Don’t specify a slope angle

Choose a TrueType font of a wide or narrow style rather than setting a width.

There are a couple of other circumstances that can upset AutoCAD’s implementation of TrueType and cause slow operation or poor appearance.

  • The text is part of a block insertion that has a scale factor other than 1, even if the x,y, and z scale factors are equal.
  • The text insertion point has a z value other than zero.

I can’t think of any valid technical programming issue for these two restrictions.  I can understand why text in blocks inserted with differing X and Y scale factors would create the same situation as using a width factor, but there seems no good reason why the other things would demand the use of bitmap rendition.  However, they apparently do.

To get around these, the only way seems to be to use SHX fonts in blocks that might be inserted at various scale factors, and to ensure that text is always inserted on the zero Z plane, which would be the usual, I would expect.

Finally, a note to those who still persist in using SHX fonts at all times: If you use MTEXT (Multi-line text) which is an extremely useful facility, you will use TrueType fonts whether you like it or not!  MTEXT only works with TrueType.  If you specify an SHX font in MTEXT, it substitutes the TrueType font that Autodesk provide to mimic that SHX font.  Those mimic fonts are actually very poorly defined.  TrueType is intended to always be defined as open outlines, so that the character weight is defined.  AutoCAD’s SHX-like TrueType fonts (ROMANS.TTF etc) were created by an automatic font generator that faithfully copied the SHX single-stroke form, including the clunky way of using short straight line segments to create curves.  This type of definition prevents those TrueType fonts from ever having anything but the minimum stroke-width regardless of character size.  The remedy is: Don’t use SHX fonts in MTEXT.

About Geoffrey Harrod

Geoff Harrod – BA, Grad. Diploma Information processing (UQ)
Experience with many CAD products since 1980.

Former AutoCAD system developer, university CAD lecturer, technical editor of MultiCAD Magazine and contributor to many other CAD publications.

Authorised reseller & trainer for Cadsoft , TurboCAD and progeCAD.

0 Comments

  1. Pingback: How To Do Rhd Conversion On S13 | HappyForever168

Leave a Reply

Your email address will not be published. Required fields are marked *