ArcGIS Pro のテキスト書式タグを使用することにより、テキストの一部の書式を変更できます。 たとえば、テキストに含まれる 1 つの単語に下線を付けるなど、複数の書式を組み合わせたテキストを作成できます。 テキスト書式タグは、マップ上またはその周辺のほぼすべての場所に使用することができます。 テキスト文字列とテキスト シンボルの両方を指定できる場所であれば、これらのタグを使用できます。 たとえば、「ダイナミック ラベル式」、アノテーション、凡例テキスト、マップ タイトル、「ダイナミック テキスト」および「フィーチャのラベリングに使用されるフィールドの値」に使用することができます。 これらのタグは、ArcMap の [コンテンツ] ウィンドウ、テーブル ビュー、またはポップアップでは認識されないため、フィールド値に追加されたタグはこれらのエリアにテキストとして表示されます。
ダイナミック テキストは、もう 1 つのタイプの書式タグであり、グラフィックス テキストをそのプロパティの現在の値に基づいて動的に変化させます。 ダイナミック テキスト タグをテキスト書式タグとともに使用して、ページ レイアウトで複数の書式を組み合わせた動的なテキストを作成できます。
書式タグの構文
書式タグの構文は、使用される場所によって異なります。 アノテーションの構文、およびラベリングの構文の例を、以下に示します。 アノテーションの構文は、アノテーションを追加するために、ページ レイアウト内のテキスト、およびフィーチャのラベリングに使用されるフィールドの値に適用されます。 ラベリングの構文は、ダイナミック ラベル式に適用されます。 ラベリングの構文の例では、書式設定されたテキストをすべてラベル フィールドに置き換えることができます。
アノテーションでは、書式タグは、特殊文字を使用しないでテキスト文字列に連結します。 <BOL>Text</BOL>
ラベル式では、書式タグは二重引用符 (") で囲み、連結演算子を使用して式の他の部分に連結する必要があります。 この演算子は、使用される言語によって異なります。 Arcade、JScript、および Python ではプラス (+) 演算子が使用されますが、VBScript ではアンパサンド (&) 演算子が使用されます。 "<BOL>" + "Text" + "</BOL>"
"<BOL>" + $feature.LABELFIELD + "</BOL>"
"<BOL>" & "Text" & "</BOL>"
"<BOL>" & [LABELFIELD] & "</BOL>"
フィールドの値を使用して、書式タグの値を入力できます。 "<FNT size= '" + $feature.Size + "'>" + "Text" + "</FNT>"
"<FNT size= '" + $feature.Size + "'>" + $feature.LABELFIELD + "</FNT>"
"<FNT size= '" & [Size] & "'>" & "Text" & "</FNT>"
"<FNT size= '" & [Size] & "'>" & [LABELFIELD] & "</FNT>"
ArcGIS Pro の書式タグには、次の構文規則が適用されます。
- ArcGIS Pro の書式タグは、XML 構文規則に準拠します。 開始タグには、それぞれ対応する終了タグが必要です。 タグはネストできますが、外部タグを閉じる前に内部タグを閉じる必要があります。
アノテーション <BOL><UND>Text</UND></BOL>
ラベル式 "<BOL><UND>" + $feature.LABELFIELD + "</UND></BOL>"
- 書式タグは、小数記号にカンマを使用します。 ロケール固有の記号は使用しません。
アノテーション <FNT size = "12.5">Textgröße = 12,5</FNT>
ラベル式 "<FNT size = '12.5'>" + "Textgröße = 12,5" + "</FNT>"
- タグ属性は、単一引用符 (') または二重引用符 (") のいずれかで囲むことができます。 次の 2 つの記述は同等です。
アノテーション <FNT name='Arial' size='18'>My text</FNT>
<FNT name="Arial" size="18">My text</FNT>
ラベル式 '<FNT name="Arial" size="18">' + $feature.LABELFIELD + '</FNT>'
"<FNT name='Arial' size='18'>" + $feature.LABELFIELD + "</FNT>"
- タグの組みの大文字と小文字は正確に一致している必要があります。 したがって、<BOL>...</BOL> と <bol>...</bol> は有効ですが、<Bol>...</bol> は無効です。
- 認識されないが、形式が整っているタグのペアは、パーサーによって無視されます。 たとえば、「<notag>」は ArcGIS Pro の有効な書式タグではありませんが、次の文字列は有効であり、適切に表示されます。
アノテーション <notag><BOL>State College<BOL></notag>
ラベル式 "<notag><BOL>" + "State College" + "<BOL></notag>"
- アンパサンド (&) と山括弧 (<) は特殊文字であり、書式タグが使用されているテキストでは無効です。 代わりに、これらの文字に相当する「&」と「⁢」の文字コードを使用します。
アノテーション <ITA>John & Paul</ITA> の代わりに、次のように記述します。
<ITA>John & Paul</ITA>
ラベル式 次の式は < > 文字に囲まれたラベル フィールドの値を表示します。
"<ITA><" + $feature.LABELFIELD + "></ITA>"
- ラベル フィールドの値に特殊文字を埋め込んでいる場合には、単純なラベル スクリプトを使用して、その文字を動的に置き換えることができます。
ラベル式 - Arcade "<BOL>" + replace($feature.Notes, "&", "&") + "</BOL>"
ラベル式 - VBScript 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>
ラベル式 "This is bold if the base text symbol is bold <_BOL>, but this is not: </_BOL>"
Maplex ラベル エンジン の書式設定パラメーターでのテキスト書式タグの使用
テキスト書式タグは、ラベル クラスのテキスト シンボルに割り当てられたプロパティよりも優先されるように設計されています。 Maplex ラベル エンジン は、ラベル配置プロセス中にテキスト書式タグを検出します。 テキスト書式タグはラベルの外観を指定し、書式設定パラメーターよりも優先されるため、Maplex ラベル エンジン では、ラベル文字列にテキスト書式タグが検出されると、ラベル クラスの書式設定パラメーターがオフになる場合があります。
以下に、テキスト書式タグが無視される場合と、テキスト書式タグによって Maplex ラベル エンジン の動作が変更される場合を示します。
- ラベルにフォント サイズまたは行間隔のテキスト書式タグが設定されている場合、Maplex ラベル エンジン のフォント縮小の動作はオフになります。
- 略語辞書を使用している場合、テキスト書式タグを含むラベルは、Maplex ラベル エンジン によって略されなくなります。
- ラベル式に「ベース」のテキスト書式タグまたはコンポジット吹出し「パーツ」のテキスト書式タグが含まれる場合、ラベルは動的に改行されません。 このような場合でも、「スクリプト」を使用すると、改行できます。
テキスト書式タグを含むラベルがラベル クラスにあっても、そのラベルが現在のマップ範囲に 1 つも表示されていない場合、テキスト書式タグは検出されず、テキスト書式タグに関する上記の制限事項は無効になります。
Maplex ラベル エンジン でサポートされているその他のテキスト書式タグ
Maplex ラベル エンジン には、その他にも個別のタグ (ベース) があります。
"<BSE>" + $feature.FIELDNAME + "</BSE>"
複数のラベル フィールドを使用して、フィーチャにラベルを表示する場合、どのラベルがキーまたはベースになるかを指定する必要があります。 ベース ラベルは、配置方法に使用され、他のラベルはベース ラベルに基づいて配置されます。
ベース タグは、Maplex ラベル エンジン でのみサポートされています。 標準ラベル エンジン で <BSE> タグが検出されると、<BSE> タグは無視され、ラベルが配置される前に削除されます。
たとえば、次の画像のラベル クラスは配置位置が [ポイントの右] になっているので、ラベルはポイント フィーチャの真東に配置されます。 ベース タグ ラベルをラベル式の 1 番目の行に関連付けることにより、ラベル式全体をフィーチャに対してどのように配置するかを制御します。 左側のラベルはベース タグを使用しませんが、右側のラベルでは、ラベルの最初の行がベース タグで囲まれています。
"<BSE>" + $feature.Name + "</BSE>" + TextFormatting.NewLine + $feature.Prov
ラベル式作成のその他のヒント
「ラベル式の作成」には、次のヒントが役立ちます。
- テキスト書式タグを含むラベル式の有効性をチェックするには、[適用] を使用して変更を適用し、マップ上にラベルを表示します。 書式タグまたは構文が無効な場合には、マップ ラベル内でタグがテキストとして表示されます。
- タグは Arcade、Python、VBScript、または JScript では解釈されません。 タグはただのテキストとして ArcGIS Pro フレームワークに渡され、描画時に動的に書式が設定されます。 引用符で囲まれた文字列内のタグを引用符で囲む必要はありません。
"Current <BOL>status</BOL> of parcel: " + $feature.LABELFIELD
- ラベル式を使用するかどうかにかかわらず、レイヤーのフィーチャのラベリングに使用するフィールドの値に書式タグを埋め込むことができます。 これにより、ラベル フィールドに含まれる特定の値の任意部分の書式を変更することができます。 書式タグを埋め込むには、ラベル フィールドが文字列タイプである必要があります。 フィールド値で使用されるタグおよびタグの属性を引用符で囲ったり、連結演算子を使用したりする必要はないため、ラベル フィールドでは次の値が有効となります。
<ITA>Rochester</ITA>
<FNT size='14'>C</FNT>olorado
<CLR red = '255'>Paul & Mary</CLR>
使用可能なテキスト書式タグ
ArcGIS Pro は、次の書式エレメントとタグをサポートしています。 表内のリンクをクリックすると、詳細な参考情報に移動します。 アノテーションとラベリングの構文の例がタグごとに挙げられています。 アノテーションの構文は、アノテーションを追加するために、ページ レイアウト内のテキスト、およびフィーチャのラベリングに使用されるフィールドの値に適用されます。 ラベリングの構文は、ダイナミック ラベル式に適用されます。 ラベリングの構文の例では、書式設定されたテキストをすべてラベル フィールドに置き換えることができます。
エレメント | 出力 |
---|---|
![]() | |
フォント名/フォント サイズ
<FNT></FNT>
属性 | 備考 |
---|---|
name = {TrueType font}, style = {Font style}, named_instance = {Variable font pre-set}, size = {1}, scale = {1-} |
標準フォントを定義するには、名前、スタイル、サイズのいずれか、またはすべてを設定します。 「バリアブル フォント」では、タグ属性で軸を指定できます。 フォントで使用できる変動タグとスタイルは、変動軸にカーソルを合わせることで確認できます。 一般的な軸のタグには、wght (重さ)、wdth (幅)、slnt (傾斜)、ital (斜体)、opsz (光学的サイズ) があります。 named_instance は、これらの変動に便利なプリセットを設定するために使用されます。 バリアブル フォントを定義するには、名前、スタイル、変動を設定する必要があります。 変動は、wght などの名前付きインスタンスまたは軸を通じて指定できます。 注意:ラベルの例: "<FNT name = 'Work Sans' style = 'italic' named_instance = 'bold italic' wght = '700'>" + "Text weight = 700" + "</FNT>" アノテーションの例: <FNT name = "Work Sans" style = "italic" named_instance = "bold italic" wght = "700" >Text weight = 700</FNT> |
出力例
アノテーションの構文
<FNT name = "Arial" style = "Regular" size = "12">Text size = 12</FNT> <FNT name = "Arial" scale="200"> Text scale = 200</FNT>
ラベリングの構文
"<FNT name = 'Arial' style = 'Regular' size = '12'>" + "Text size = 12" + "</FNT>" + "<FNT name = 'Arial' scale='200'>" + "Text scale = 200" + "</FNT>"
色 (RGB)
<CLR></CLR>
属性 | 備考 |
---|---|
red, green, blue = {0–255} alpha = {0–100} |
alpha の値はテキストの不透明度です。 red、green、blue の属性がない場合は、0 と見なされます。 alpha 属性がない場合は、100 と見なされます。 |
出力例
アノテーションの構文
<CLR red = "255">Text</CLR>
ラベリングの構文
"<CLR red = '255'>" + "Text" + "</CLR>"
色 (CMYK)
<CLR></CLR>
属性 | 備考 |
---|---|
cyan, magenta, yellow, black alpha = {0–100} | alpha の値はテキストの不透明度です。 属性がない場合は、0 と見なされます。 alpha 属性がない場合は、100 と見なされます。 |
出力例
アノテーションの構文
<CLR magenta = "100">Text</CLR>
ラベリングの構文
"<CLR magenta = '100'>" + "Text" + "</CLR>"
色 (SPOT)
<CLR></CLR>
属性 | 備考 |
---|---|
spotname, alpha = {0–100}, tint = {0–100} cyan, magenta, yellow, black red, green, blue | 印刷に使用する「スポット カラー」の指定に使用します。 「alpha の値」はテキストの不透明度です。 印刷サービス プロバイダーから明確な指示がない限り、不透明度は完全に不透明のままにしておくことをおすすめします。 「tint の値」は、相対的なインク量 (暗さ) を表します。 代替色は、画面上やスポット カラーをサポートしていない出力デバイスにスポット カラーを表示するために使用されます。 この色は、スポット カラー インクに視覚的に似た RGB または CMYK 値を使用して指定されます。 alpha 属性がない場合は、100 と見なされます。 tint 属性がない場合は、100 と見なされます。 属性がない場合は、0 と見なされます。 |
出力例
アノテーションの構文
<CLR spotname = "RedlandsRed" cyan = "38" magenta = "100" yellow = "100" black = "0" alpha = "100" tint = "100">Text</CLR>
ラベリングの構文
"<CLR spotname = 'RedlandsRed' cyan = '38' magenta = '100' yellow = '100' black = '0' alpha = '100' tint = '100'>" + "Text" + "</CLR>"
太字
<BOL></BOL>
出力例
アノテーションの構文
<BOL>Text</BOL>
ラベリングの構文
"<BOL>" + "Text" + "</BOL>"
斜体
<ITA></ITA>
出力例
アノテーションの構文
<ITA>Text</ITA>
ラベリングの構文
"<ITA>" + "Text" + "</ITA>"
下線
<UND></UND>
出力例
アノテーションの構文
<UND>Text</UND>
ラベリングの構文
"<UND>" + "Text" + "</UND>"
すべて大文字
<ACP></ACP>
出力例
アノテーションの構文
<ACP>Text</ACP>
ラベリングの構文
"<ACP>" + "Text" + "</ACP>"
小型英大文字
<SCP></SCP>
出力例
アノテーションの構文
<SCP>Text</SCP>
ラベリングの構文
"<SCP>" + "Text" + "</SCP>"
上付き
<SUP></SUP>
出力例
アノテーションの構文
E = mc<SUP>2</SUP>
ラベリングの構文
"E = mc" + "<SUP>" + "2" + "</SUP>"
下付き
<SUB></SUB>
出力例
アノテーションの構文
H<SUB>2</SUB>O
ラベリングの構文
"H" + "<SUB>" + "2</SUB>" + "O"
文字間隔
<CHR></CHR>
属性 | 備考 |
---|---|
spacing = {1-} | 通常の文字間隔に対して調整する大きさを比率で表します。0% の場合、調整は行われません。 |
出力例
アノテーションの構文
<CHR spacing = "200">Text</CHR>
ラベリングの構文
"<CHR spacing = '200'>" + "Text" + "</CHR>"
文字幅
<CHR></CHR>
属性 | 備考 |
---|---|
width = {1-} | 通常の文字幅に対して調整する大きさを比率で表します。100% の場合、調整は行われません。 |
出力例
アノテーションの構文
<CHR width = "150">Text</CHR>
ラベリングの構文
"<CHR width='150'>" + "Text" + "</CHR>"
単語間隔
<WRD></WRD>
属性 | 備考 |
---|---|
spacing = {1-} | 単語間の間隔を比率で表します。100% は、通常の間隔を表します。 |
出力例
アノテーションの構文
<WRD spacing = "200">Extra Word Spacing</WRD>
ラベリングの構文
"<WRD spacing = '200'>" + "Extra Word Spacing" + "</WRD>"
配置
<ALIGN></ALIGN>
属性 | 備考 |
---|---|
horizontal = {left, right, center, justify} | 水平方向の属性:
欠落している水平方向の属性は無視されます。 |
出力例
アノテーションの構文
The top two lines have no tags. The bottom line is aligned <ALIGN horizontal = "right">to the right.</ALIGN>
ラベリングの構文
"The top two lines have no tags." + textformatting.newline + "The bottom line is aligned" + textformatting.newline + "<ALIGN horizontal = 'right'>" + "to the right." + "</ALIGN>"
行リード
<LIN></LIN>
属性 | 備考 |
---|---|
leading = {1-} leading_type = {extra, exact, multiple} | 通常の行リードに対して調整する大きさをポイント単位で表します。0 ポイントの場合、調整は行われません。 行リードのタイプ:
|
出力例
アノテーションの構文
<LIN leading = "25" leading_type = "extra">Text with a leading value of 25 points</LIN>
ラベリングの構文
"<LIN leading = '25' leading_type = 'extra'>" + "Text with a leading value of 25 points" + "</LIN>"
太字解除
<_BOL></_BOL>
出力例
アノテーションの構文
The base text symbol is bold <_BOL> but this part is not.</_BOL>
ラベリングの構文
"The base text symbol is bold " + "<_BOL>" + " but this part is not." + "</_BOL>"
斜体解除
<_ITA></_ITA>
出力例
アノテーションの構文
The base text symbol is italic <_ITA> but this part is not.</_ITA>
ラベリングの構文
"The base text symbol is italic " + "<_ITA>" + " but this part is not." + "</_ITA>"
下線解除
<_UND></_UND>
出力例
アノテーションの構文
The base text symbol is underlined <_UND> but this part is not.</_UND>
ラベリングの構文
"The base text symbol is underlined " + "<_UND>" + " but this part is not." + "</_UND>"
上付き解除
<_SUP></_SUP>
出力例
アノテーションの構文
<SUP><_SUP> This text is regular but </_SUP> this text is superscript.</SUP>
ラベリングの構文
"<SUP><_SUP>" + "This text is regular but" + "</_SUP>" + " this text is superscript." + "</SUP>"
下付き解除
<_SUB></_SUB>
出力例
アノテーションの構文
<SUB><_SUB> This text is regular but </_SUB> this text is subscript.</SUB>
ラベリングの構文
"<SUB><_SUB>" + "This text is regular but" + "</_SUB>" + " this text is subscript." + "</SUB>"
背景
<BGD></BGD>
属性 | 備考 |
---|---|
red, green, blue = {0–255} cyan, magenta, yellow, black = {0-100} alpha = {0–100} outline_red, outline_green, outline_blue = {0–255} outline_cyan, outline_magenta, outline_yellow, outline_black = {0–100} outline_alpha = {0–100} width = {Double} padding = {Double} | alpha の値は背景の不透明度です。 outline_alpha の値はアウトラインの不透明度です。 width の値はアウトラインの幅 (ポイント単位) です。 padding の値は、アウトラインが背景のエッジから移動した距離 (ポイント単位) です。 red、green、blue の属性がない場合は、0 と見なされます。 cyan、magenta、yellow、black の属性がない場合は、0 と見なされます。 alpha 属性と outline_alpha 属性がない場合は、100 と見なされます。 |
出力例
アノテーションの構文
<CLR red='255' green='236' blue='0' alpha='100'><BGD red='0' green='0' blue='0' alpha='100'>B</BGD></CLR><CLR red='255' green='255' blue='255' alpha='100'><BGD red='230' green='0' blue='0' alpha='100'>15-33</BGD></CLR>
ラベリングの構文
"<CLR red='255' green='236' blue='0' alpha='100'><BGD red='0' green='0' blue='0' alpha='100'>" + "B" + "</BGD></CLR><CLR red='255' green='255' blue='255' alpha='100'><BGD red='230' green='0' blue='0' alpha='100'>" + "15-33" + "</BGD></CLR>"
垂直モールス符号
<VMC></VMC>
属性 | 備考 |
---|---|
x_offset = {1-} y_offset = {1-} | x_offset 値は、10 進数の X オフセット値をポイント単位で表したものです。 y_offset 値は、10 進数の Y オフセット値をポイント単位で表したものです。 「コンポジット吹出し」タイプを使用する場合にのみ使用できます。 |
出力例
アノテーションの構文
<VMC>TUS</VMC>
ラベリングの構文
"<VMC>" + "TUS" + "</VMC>"
パート
<PART></PART>
属性 | 備考 |
---|---|
position = {middle, topleft, top, topright, right, bottomright, bottom, bottomleft, left, floating} h_align = {left, right, center, justify} v_align = {top, center, baseline, bottom} x_offset = {1-} y_offset = {1-} split_offset = {1} boxed = {true, false} | x_offset 値は、10 進数の X オフセット値をポイント単位で表したものです。 y_offset 値は、10 進数の Y オフセット値をポイント単位で表したものです。 split_offset は、吹出しの外枠線と、外枠線と交差するテキスト パートの任意の部分との間のギャップをポイント数で計測したものです。 吹出しの幅よりも広く設定されている場合、関連する吹出し線は描画されません。 ボックスで囲まれた値は、分割ラインにより吹出し内にパーツを保持し、中央のエレメントから分離するかどうかを表しています。 「コンポジット吹出し」タイプを使用する場合にのみ使用できます。 オフセット タグと配置タグは、シンボル設定を上書きします。 |
出力例
アノテーションの構文
<PART position="middle">Middle Element</PART><CLR blue="200"><PART position="top">Top</PART><PART position="topleft">TopL</PART><PART position="topright">TopR</PART><PART position="left">Left</PART><PART position="right">Right</PART><PART position="bottom">Bottom</PART><PART position="bottomleft">BottomL</PART><PART position="bottomright">BottomR</PART><PART position="floating" h_align="center" v_align="center" x_offset="0" y_offset="-10">Floating</PART></CLR>
ラベリングの構文
"<PART position='middle'>" + "Middle Element" + "</PART><CLR blue='200'><PART position='top'>Top</PART><PART position='topleft'>" + "TopL" + "</PART><PART position='topright'>" + "TopR" + "</PART><PART position='left'>" + "Left" + "</PART><PART position='right'>" + "Right" + "</PART><PART position='bottom'>" + "Bottom" + "</PART><PART position='bottomleft'>" + "BottomL" + "</PART><PART position='bottomright'>" + "BottomR" + "</PART><PART position='floating' h_align='center' v_align='center' x_offset='0' y_offset='-10'>" + "Floating" + "</PART></CLR>"
箇条書きリスト
<LST></LST>
属性 | 備考 |
---|---|
type = {disc, circle, square, none} |
type 値は、箇条書きの形状です。 |
<ITM></ITM>
備考 |
---|
箇条書きリスト内の各アイテム。 <LST> タグ内でのみ使用できます。 |
出力例
アノテーションの構文
<LST type='disc'><ITM>Item 1</ITM><LST type='circle'><ITM>Item A</ITM><ITM>Item B</ITM></LST></LST>
ラベリングの構文
"<LST type='disc'><ITM>Item 1</ITM><LST type='circle'><ITM>Item A</ITM><ITM>Item B</ITM></LST></LST>"
ベース
<BSE></BSE>
備考 |
---|
主要なラベル配置に使用される「ベース テキスト」の文字列にマークを付けます (Maplex ラベル エンジン のみ)。 |
出力例
アノテーションの構文
<BSE>College Station</BSE>Population: 67890 Median Age: 21.9
ラベリングの構文
"<BSE>" + "College Station" + "</BSE>" + TextFormatting.NewLine + "Population: 67890" + TextFormatting.NewLine + "Median Age: 21.9"