ArcGIS Pro (Maplex): disable ligatures when spread letters is selected

08-29-2018 03:15 AM
Status: Open
Labels (1)
MVP Regular Contributor

ArcGIS Pro introduced a new font character related setting in Maplex labeling that is not present in ArcMap: support for substitute typographic ligatures (see image entirely below). A ligature is a combination of two letters that are more or less treated as a single character and placed at a specific distance from each other to improve legibility and typographic display. Modern fonts support the definition of substitute ligatures, where the ligature is not composed of a single specific lettercombo defined as a single character, but dynamically compiled from the corresponding letters, if I understand the Wikipedia page about ligature right.

In the image below, you can see such ligature substitute being used for the "fl" letter combo. However, this is a special situation. As you can see, the label text uses the Maplex "Spread characters / letters" setting that is present in ArcMap and ArcGIS Pro. Also, the text has defined halos, but as you can see, the text halos are not using the ligature setting, as this seems not supported by the label engine. I actually filed a bug report with ESRI for this, but was told to disable the ligatures setting. Reading up about ligatures, and seeing the labeling result with the "fl" as ligature as actually being typographically erroneous when "Spread characters / letters" is selected (it displays bad if the "f" and "l" letters are not spread), I have to agree with ESRI it is better to disable ligatures if "Spread characters / letters" is selected for labeling.

However, since the ligatures are by default on in Pro, this causes confusion for users, as there are now potentially conflicting settings in Maplex and Pro, that will lead to visual artifacts as shown in the image above.

I therefor propose a number of possible enhancements, that could resolve this:

- Enhancement request 1:
Automatically deselect and disable the label class's "Ligatures" setting in ArcGIS Pro if a user selects "Spread letters up to a fixed limit" or "Spread letters to fill feature" in the label class's "Position/Spread Labels" setting, as these two options are essentially technically, as well as cartographically / typographically, incompatible (and will cause a visual defect if the font has halos, as halos don't support ligatures and will thus not line up with the true label text). *NOTE(!)*: This setting should also be disabled when importing or opening an ArcMap *.lyr file having the corresponding "Spread characters" setting enabled on a label class, or when importing an ArcMap document in Pro (*.mxd).


- Enhancement request 2:
Don't enable ligatures by default in ArcGIS Pro, as they now are. Instead, leave the option disabled and led the user decide whether or not ligatures should be enabled. Ligatures are likely better off by default given the conflict with the "Spread characters / letters" labeling options of Maplex. If users enable ligatures, and any of the above mentioned settings is enabled, a warning message could be displayed of the conflicting settings.

- Enhancement request 3:
Clearly document in the Help that the above mentioned settings - Ligatures set to "ON"/selected and label class's "Position/Spread Labels" setting set to "Spread letters up to a fixed limit" or "Spread letters to fill feature" - are incompatible, and especially in combination with text halos.

From a user perspective, the technically more complex enhancement request 1 might be preferable over 2, as some languages probably heavily depend on ligatures in the most common fonts used in some countries, so disabling it by default may not be the best option.