I have a feature of SEA COVERAGE.shp, in the feature, we have attribute field name consist of english and malay name. For example, LAUT CHINA SELATAN(SOUTH CHINA SEA), LAUT SULU(SULU SEA). Sizing for english and malay is different, is there any way that can i use to label the field name with different size?
2 Answers
As @PolyGeo mentioned, formatting tags are the right way to do this. In your case, you can use python to split the the text from the name field into English and Malay names. This will make it easier to format them in different ways.
On the Layer Properties window, go to Labels tab, and click on the Expression button. Make sure that Advanced check box is checked and the selected parser is Python. Paste the following script (or modify it as you want):
def FindLabel ( [Name] ):
english = [Name].split("(")[0]
malay = [Name].split("(")[1][:-1] # the "[:-1]" is here to get rid of the last bracket
return "<FNT size='20'>{0}</FNT>\n<FNT size='12'>{1}</FNT>".format(english, malay)
To do this I think you should investigate Using text formatting tags:
ArcGIS text formatting tags let you modify the formatting for a portion of text. This lets you create mixed-format text where, for example, one word in a sentence is underlined. Text formatting tags can be used almost anywhere text is placed on or around the map in ArcMap. You can use the tags anywhere you can specify both a text string and a text symbol. For example, you can use tags in dynamic label expressions, annotation, legend text, map titles, and in the values of fields used to label features.