About abbreviating and truncating words
Abbreviation dictionaries allow the Maplex Label Engine to shorten long labels to fit within small spaces. When you use an abbreviation dictionary, the Maplex Label Engine first attempts to place the full text of the label, then abbreviates any words found in the dictionary for labels that could not be placed.
Abbreviation dictionaries are applied to individual label classes. The abbreviation is applied to a freestanding word or groups of words, not parts of words, with the exception of certain non-English words. Individual words, such as Road and Street, can be abbreviated as Rd or St, or longer strings, such as Post Office, can be abbreviated as PO. Portions of words are not abbreviated. For example, if you have a dictionary entry mapping Road as Rd, the label Roadrunner Road is abbreviated as Roadrunner Rd, not Rdrunner Rd. Labels containing text formatting tags are not abbreviated by the Maplex Label Engine.
In the image below, you can see that Plumas Street has been abbreviated to Plumas St to fit inside the short street segment. Monterey Street has been abbreviated as well. Where there is plenty of space for the label, the ending is not abbreviated.
If necessary for placement, truncation shortens the words in a label by removing characters and ending the label with the marker character you set. The Maplex Label Engine starts with the longest word in the label first and removes the specified letters for removal that are not the first letter. If the label is not shortened sufficiently, the vowels are removed, followed by the end characters of the truncated label until it is placed or the label is determined to be unplaced. Once a label has been truncated, it will have a full stop added to the end by default.
In the image below, the church label Ascension Episcopal Church (Historical Site) has been truncated to Asn.E.C.(H.Sit.). Each part of the label that has been truncated has had a period added to the end.
Types of abbreviation dictionary entries
There are three types of abbreviation dictionary entries: keywords, endings, and translations. Two of these types, keywords and endings, are only applied to words when the original string can't be placed because of space or label-to-label or label-to-feature conflicts. Translation entries are always applied to all matching words.
- Keywords can be applied to all words in a string except the last word. Use keywords to replace common words, such as Mount and International, with abbreviations such as Mt and Intl.
- Endings can be applied to only the last word of a string. Use this type of abbreviation to shorten street endings, such as Street to St, Road to Rd, and Avenue to Ave.
- Translations always apply to all words of a string. Translation entries may be useful when you translate a map into another language, want to remove words from a label string, or want all occurrences of a word to be abbreviated. Use this type of abbreviation to shorten long street names, such as Martin Luther King Boulevard to MLK Blvd.
Non-English street names
In Germanic languages, the generic street ending is appended to the proper street name, for example, Fredrichstrasse. To deal with these special cases, the Maplex Label Engine recognizes five special character strings that can be abbreviated when they are found within a longer string for a street label:
When at least one of these words is present in the abbreviation dictionary, the Maplex Label Engine enables a special mode for abbreviations. Any abbreviations of type ending cause the Maplex Label Engine to search and attempt to match the end characters of the string, rather than the last word, for a possible abbreviation. In space-constrained abbreviation cases, this ending can also be hyphenated and stacked.
When this type of abbreviation takes place, no other character strings are abbreviated if they are contained within a string.
In the image below, three streets have been abbreviated using a Dutch abbreviation dictionary. The abbreviations are as follows:
- GRAVENSTRAAT = GRAVENSTR
- DAMRAKSTEEG = DAMRAKSTG—Hyphenated to DAMRAK-STG to stack the label
- ZOUTSTEEG = ZOUTSTG
Entering abbreviations into a dictionary
To add words to an abbreviation dictionary, add a row to the dictionary table, type the word in the keyword column, type one or more abbreviations separated by spaces, then specify what type of dictionary entry it is—translation, keyword, or ending. Multiple-word keywords and abbreviations and nonalphabetical characters must be contained within double quotation marks. For example, the two-word string "Post Office" might be abbreviated as PO.
- You can abbreviate a group of words by including the words in double quotes: "Post Office".
- You can have multiple abbreviations for a single word; separate the entries by a space: Str St.
- If you want an abbreviation to contain a space, include the string within double quotes: "P. O."
Using an abbreviation dictionary
Once an abbreviation dictionary has been created, you can assign it to the label class in which you want to use abbreviations. Abbreviation dictionaries can be used in other map documents by saving and loading them into the new map document. The dictionaries can be saved to dictionary files and also as tables. The files are formatted text files and are saved with the file extension .dic, while the tables can be stored within databases or be stand-alone, such as a .dbf table.
Abbreviation dictionary file format
Lines that begin with the asterisk (*) character are comment lines. The format of an abbreviation entry follows:
<Word> <Option1> <Option2> <OptionN> <Type>
Example of an abbreviation file
* Maplex Label Engine Dictionary File - v1.0 * Format: TEXT ABBREVIATION(S) TYPE * where TYPE=[Translation|Keyword|Ending] "Street" Str St Ending "Road" Rd Ending ""Post Office"" "Post Off." PO Keyword * [end]
Abbreviation table format
An abbreviation table consists of three fields: Keyword, Abbreviation, and Row Type. The Keyword and Abbreviation fields follow the formatting that is outlined in the "Entering abbreviations into a dictionary" section above, while the Row Type field has three integer values for the three types of abbreviation dictionary entries: