Missing Fonts in AutoCAD

So you open an AutoCAD .DWG file and you notice some of the text does not look like you expect. Maybe a paragraph that is supposed to show up with a script font like FreeStyle Script, is instead showing up with a block font like txt.shx. What has probably happened is that you are missing the correct font required for that particular text style. If you received the drawing from someone else and they did not use eTransmit, this is a common issue. Run the STYLE command and select the textstyle in question. Now look at the Font Name selection. Is there a yellow shield near the font name as shown below? If so, you are missing that font!
Shows what a missing font in AutoCAD looks llike

Note: Even though Fonts and Shapes share the same file extension (.SHX), they are different. A missing SHAPE file will generate a notice dialog, whereas a missing FONT file most of the time will not. This is because of how AutoCAD handles missing FONT files. First it looks for a font mapping file (which you probably do not have unless you purposly created one). Next it looks at the textstyle itself to see what font to use. If that fails, then it looks at the FONTALT system variable, which is generally set to a font like txt.shx or simplex.shx. Only if all three of those test fail, will AutoCAD ever ask you to specify another SHX font. In the case of TTF fonts, it will never ask you, Windows will simply substitute in another TTF font.       Ref: AutoCAD Font Substitution

So let’s presume that you have obtained the correct font, what do you do with it? CADforum has done a great job documenting the steps needed to load a new font file, and we do not need to rehash all that here. Just keep in mind that SHX and TTF fonts are pretty much the only two font types supported, although you can compile PFB (postscript) fonts into SHX format. The one extra thing worth noting is that you can place SHX fonts in the same folder as the DWG and it will be “found” and loaded. You cannot do this with TTF fonts. If you deal with a lot of drawings from others, this is one strategy you can use in order to not “clog up” your normal Fonts directory with fonts that are only used in one or two drawings for a particular client or partner.

Keep in mind that if you are sending your drawing to someone else, and you have non-standard fonts, you will need to send those fonts along for the ride. eTransmit can make this step pretty effortless.

If you have another thought or tip on AutoCAD fonts, leave us a comment below. Thanks!

3 Comments

  1. Yasir

    Thank you for this very informative article. I have a problem;

    How to write “Urdu” text in AutoCAD (in my case v2012 on Windows 7)?

    I could not find any .shx font for Urdu so I tried a few Arabic .shx font available out there, but failed. Some were unable to render characters and words properly, and some didn’t show anything at all. Please note that Urdu and Arabic both are “right to left languages and share “almost” the same script and alphabets – so if I can type Arabic I can type Urdu also and vice versa.

    So I please help me to understand;

    1- Is it possible to efficiently type “right to left” in AutoCAD without any problems? If yes, how?
    2- .shx or .ttf? which font will work better? If .shx, how can I create my own .shx for Urdu or Arabic? Is there a way to convert from .ttf or .otf?

    Thank you so much once again.

    P.S: Please have a look at these Wikipedia articles about the Urdu Language and Urdu Alphabet for reference.

    1. rkmcswain (Post author)

      Yasir, unfortunately I do not know the answers to your questions. I would suggest posting your questions to a much wider audience at the AutoCAD 2012 discussion group.

      Regarding font conversion and making your own SHX fonts, I would suggest consulting with http://www.tcfonts.com/

  2. Joshcorn

    This is a very uesful tip! It is very uesful and powerful tool. I use it all the time. I tend to use it for a different reason which is to rename layers! For example, if you bind an externally referenced drawing named STP123.dwg to a host drawing, the block definitions have names like STP123$0$BLOCK1, STP123$0$BLOCK2, STP123$0$BLOCK3, STP123$0$BLOCK4, andSTP123$0$BLOCK5. If you want them to have the names BLOCK1 and so on, type STP123$0$* in the Old Name field and * in the Rename To field.its a very uesful tool for many different reasons!

Comments are closed.