Mtext Map File

Overview ---- Body ---- Conclusion

The Problem

Have you ever double-picked on some Mtext and noticed that the Mtext Editor Window doesn't show the same Font as you see in the drawing?

The reason for this phenomena is that the Mtext Editor only works with True Type Fonts so when it is used to Create or Edit those old .shx or .pfb fonts, it uses a substitute.  The substitution is set by the MtextMap.ini file which maps the name of one font over to something the Mtext Editor can display properly.  If a particular font is not listed in the map, then the mapping defers to Proxy Fonts.

Architects tend to be fond of their hand-letter-like fonts collected over the years and those tend to be the biggest pain for me to deal with because they are generally .shx fonts and they are never listed in the MtextMap.ini file.  This means that what I see in my Mtext Editor Window is a Proxy Font that is so difficult to see that it just ticks me off - try looking at yellow Proxy Fonts on a White background.

The Solution

Using Explorer you should be able to locate your current MtextMap.ini file along a path similar to this one: "C:\Documents and Settings\Odin\Application Data\Autodesk\ADT 2005\enu\Support".  On your machine "Odin" will obviously be replaced with your login name.

Illustrated to the right is what your default Mtextmap.ini file should look like for AutoCAD 2004/2005 and other AutoCAD flavors.  The list is divided into three parts: one for shx fonts, one for pfb fonts and one for all other fonts.  Most people encounter problems related to the Proxy section and that is usually because a drawing has a font that AutoCAD cannot locate.  One of the most common Proxy substitutions I see occurs when architectural offices use older hand lettered fonts in .shx format and either send the drawings out or forget to update their own font libraries as they upgrade to newer releases of AutoCAD.  One of my favorite complaints is "well it works on that machine..." as if the machine is responsible for the error.  I also like the angry response: "Well, I just reinstalled and...".

Assuming your Proxy Font substitution issues are not related to silly user mistakes, the problem is likely that you simply don't have the font someone else used.  If the look of the Proxy Font doesn't bother you the way it bothers me, then there really isn't much for you to be concerned about.  However if you want to improve how the Proxy Font substitutions look in your Mtext Editor, simply replace the right side of each Proxy line with the name of the True Type font you would prefer to see - see comments below.

Specifying Font Substitutions

Illustrated below I show how I amended my personal MtextMap.ini file to use Arial.TTF in place of all Proxy Substitutions.  Notice that I also added more Proxy Statements to avoid seeing the dialog alert illustrated to the right.  The "Default" statement will handle substitutions that go beyond the number of Proxy fonts in the list but you will still see the "Too Many Unknown Fonts" dialog if you don't have enough Proxy lines in your list.

[Proxy Fonts]
Proxy 1=Arial
Proxy 2=Arial
Proxy 3=Arial
Proxy 4=Arial
Proxy 5=Arial
Proxy 6=Arial
Proxy 7=Arial
Proxy 8=Arial
Proxy 9=Arial
Proxy 10=Arial
Proxy 11=Arial
You can also modify or add fonts under the [SHX Map] section as illustrated below:


If I don't like how the True Type version of Complex.shx appears in my Mtext Editor, I can just specify another font.

archquick.shx = architxt,0,0,0,2,204,238,1

If I know that I will be encountering an odd .shx font in many drawings, I can add a statement that targets the specify font and substitutes it with the closest font I have in .ttf format.

Though this alert is rather irritating, I have not found that it creates the types of problems it makes you worry about.  In other words, if you continue and work on your Mtext, it should be okay.  Remember that all this Mapping stuff is about is how the font appears in your Mtext Editor Window; it has nothing to do with how the font appears in your AutoCAD drawing file.  For real font replacement you may want to look at your "FontAlt" setting which typically maps all unknown fonts to "Simplex.shx".  You can also work with the "acad.fmp" file to physically map one font to another.

The Numbers

I have yet to find any explanation of the numbers used in the MtextMap.ini file and though I have messed with all of them, even removed them, I have found no discernable difference in the outcome.  If anyone has an explanation of what these numbers mean, please pass it on.


Copyright 2005 ARCHIdigm. All rights reserved.