Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have labels now in my application that work fine using the usual ILabelEngineLayerProperties2. When I set them up I set the .Expression property and using the .Symbol property I set the font, style, size, and color. Is there a way that the font can resize itself based on the map's current extent? (Just asking.)

share|improve this question
Did you try setting IAnnotateLayerTransformationProperties.ReferenceScale? – Kirk Kuykendall Nov 11 '11 at 20:04
Aha! Eureka! (No, you!) – Chaz Nov 11 '11 at 21:12
up vote 1 down vote accepted

The following is not a progammatic way to accomplish but a GUI stepthrough of the concepts.
Since you used the term "self sizing labels". I am providing the concepts to help you discover the correct terminology in your learning path.

You would need to use scale dependent symbology to accomplish that.
If you have the data and maps DVD loaded on your system there are many examples of that in the street map na.lyr located in that installation folder.
Here is the esri help for the label section of what you are asking.
label scale ranges
You would probably need to set up several layers to accomplish that (as in the example from street map). Also the esri help for layer scale ranges is here... Layer scale ranges
find the streetmap lyr and mxd here...
G:\my_install_location\ESRI_Data\streetmap_na\StreetMap North America.lyr G:\my_install_location\ESRI_Data\streetmap_na\StreetMap North America.mxd

share|improve this answer
I am familiar with scaling a layer and an annotation. I do set the scale of the annotation now in my code. I am asking my question because an a an ArcGIS Desktop trained user (most not likely not a super-user like you!) asked me whether the labels could be set to grow larger or smaller based on the zoom level. Imagine I set the font on a label in a polygon to a 12pt size. When I zoom out the 12pt size remains and eventually the data overflows the polygon. This user would like the font to shrink to remain within the polygon and expand to take up more of the polygon when zooming out. Possible? – Chaz Nov 11 '11 at 19:49

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.