Использование тегов форматирования текста
Теги форматирования текста в ArcGIS позволяют изменять форматирование частей или фрагментов текстов. Это позволяет создавать надписи смешанного формата, например, с одним подчёркнутым словом. Теги форматирования текста можно использовать в ArcMap почти везде, когда текст размещается на или рядом с картой. Их можно использовать везде, где есть возможность указать одновременно и сам текст, и символ текста. Например, теги можно использовать для динамических надписей, аннотаций, текстов в легенде, заголовках карт, а также в значениях полей, используемых для создания надписей объектов. Теги не воспринимаются в ArcMap таблицей содержания, окнами таблиц и диалоговым окном с результатами идентификации - там везде теги отображаются как обычный текст.
См. таблицу доступных в ArcMap тегов форматирования текста.
Динамический текст - это ещё одна разновидность тега форматирования, которая динамически изменяет графический текст на основании текущего значения или зависящего от него свойства. Он доступен только в виде компоновки. Теги динамического текста можно использовать совместно с тегами форматирования текста, чтобы создавать на странице компоновки динамический текст смешанного формата.
Более подробно о работе с динамическим текстом
Синтаксис тегов форматирования
У тегов форматирования различный синтаксис в зависимости от того, используются ли они в аннотации или надписи. В аннотации теги объединяются в текстовую строку без специальных символов:
<BOL>Text</BOL>
А в надписях теги форматирования надо заключать в двойные кавычки, а конкатенировать с другими частями выражения с помощью оператора &:
"<BOL>" & "Text" & "</BOL>"
"<BOL>" & [LABELFIELD] & "</BOL>"
Более подробно о построении выражений надписей
Для тегов форматирования в ArcMap применяются следующие правила синтаксиса:
- Теги форматирования текста в ArcGIS используют правила синтаксиса XML. После каждого открывающего тега должен быть тег закрывающий. Теги могут быть вложенными, но внутренний тег должен быть закрыт прежде внешнего:Аннотации
<BOL><UND>Text</UND></BOL>
Выражение надписи (Label Expression)"<BOL><UND>" & [LABELFIELD] & "</UND></BOL>"
- Атрибуты тегов должны быть заключены либо в одинарные кавычки, либо в две пары двойных кавычек. Следующие выражения эквивалентны:Аннотации
<FNT name='Arial' size='18'>My text</FNT> <FNT name="Arial" size="18">My text</FNT>
Выражение надписи (Label Expression)"<FNT name=""Arial"" size=""18"">" & [LABELFIELD] & "</FNT>" "<FNT name='Arial' size='18'>" & [LABELFIELD] & "</FNT>"
- Парные теги должны в точности совпадать. Соответственно, пары <BOL>...</BOL> и <bol>...</bol> считаются корректными, но пара <Bol>...</bol> не годится.
- Нераспознаваемые, разбалансированные пары тегов игнорируются синтаксическим анализатором. Например, хотя <notag> не является корректным тегом форматирования в ArcGIS, следующая строка является корректной и нормально отображается: Аннотации
<notag><BOL>State College<BOL></notag>
Выражение надписи (Label Expression)"<notag><BOL>" & "State College" & "<BOL></notag>"
- Символы & и < являются спецсимволами, поэтому их нельзя использовать вместе с тегами форматирования текста. Вместо них можно использовать соответствующие коды - & и <. Аннотации
Вместо of <ITA>Джон & Пол</ITA> используйте:
<ITA>John & Paul</ITA>
Выражение надписи (Label Expression)Это выражение заключает значения поля надписи в символы < >:
"<ITA><" & [LABELFIELD] & "></ITA>"
Выражение надписи (Label Expression)Если вам надо заключить значения поля надписей в спецсимволы, их можно динамически заместить с помощью простого скрипта для надписи:
Function FindLabel ([LABELFIELD]) NewString = Replace([LABELFIELD],"&","&") FindLabel = "<ITA>" & NewString & "</ITA>" End Function
- Любой текстовый фрагмент на карте обладает символом, который используется для прорисовки. Теги форматирования временно отменяют указанный для текста базовый символ и отображают указанную часть текста с тем символом, который прописан в теге. Кнопки и команды на панели инструментов Рисование, а также в диалоговом окне Выбор символа, всегда влияют на базовый текст, но не на изменения, внесенные тегами форматирования текста. Например, если с помощью тега <FNT> изменить текстовый фрагмент, меню Шрифт на панели Рисование не среагирует на изменение этого текста при его выборе на карте - там всегда показан шрифт базового символа текста.
- Теги не влияют на текстовые фрагменты, если они просто повторяют уже имеющиеся свойства базового символа текста. В целом, их поведение интуитивно понятно; например, если у вас тег <BOL>, а сам текст уже и так выделен полужирным, этот тег <BOL> в тексте ни на что не влияет. Также, в связи с тем, что теги следуют правилам XML, нет смысла использовать тег </BOL> для отключения полужирного выделения базового символа текста. Вместо этого используйте тег <_BOL>.Аннотации
This is bold if the base text symbol is bold <_BOL>, but this is not: </_BOL>
Выражение надписи (Label Expression)"This is bold if the base text symbol is bold<_BOL>, but this is not: </_BOL>"
Дополнительные подсказки по построению выражений надписей
При построении выражений вам помогут следующие советы:
- Чтобы проверить корректность выражения с тегами форматирования текста, щёлкните на кнопке Проверить (Verify) или Применить (Apply), чтобы применить изменения и посмотреть на что стали похожи надписи на карте. Если синтаксис тегов форматирования текста неверен, эти теги видны как обычный текст в окне Проверить (Verify) и в надписях на карте.
- Теги не интерпретируются в Python/VBScript/JScript. Зато они передаются в ArcMap как обычный текст, и там уже динамически форматируются в процессе отображения. Теги в выражениях в кавычках специально брать в кавычки не надо:
"Current <BOL>status</BOL> of parcel: " & [LABELFIELD]
- Теги форматирования можно заключить в значения поля, которое вы используете для надписывания пространственных объектов слоя независимо от того, используете ли вы выражение надписи. Таким образом, можно изменить формат любой части определенного значения в поле надписи. Чтобы применять теги форматирования, поле надписей должно быть текстового типа. Теги и атрибуты тегов, используемые в значения поля, не надо заключать в кавычки, поэтому приведенные ниже примеры являются корректными значениями для поля надписи:
<ITA>Rochester</ITA> <FNT size='14'>C</FNT>olorado