--- /dev/null
+// Country labels //
+#place[class='country'][zoom>=2][zoom<=10] {
+ text-name: '[name_en]';
+ text-face-name: @sans_bold;
+ text-placement: point;
+ text-size: 10;
+ text-fill: @text;
+ text-halo-fill: @land;
+ text-halo-radius: 1;
+ text-halo-rasterizer: fast;
+ text-wrap-width: 20;
+ text-wrap-before: true;
+ text-line-spacing: -3;
+ [rank=1] {
+ [zoom=3] { text-size: 12; text-wrap-width: 60; }
+ [zoom=4] { text-size: 14; text-wrap-width: 90; }
+ [zoom=5] { text-size: 20; text-wrap-width: 120; }
+ [zoom>=6] { text-size: 20; text-wrap-width: 120; }
+ }
+ [rank=2] {
+ [zoom=2] { text-name: [code]; }
+ [zoom=3] { text-size: 11; }
+ [zoom=4] { text-size: 13; }
+ [zoom=5] { text-size: 17; }
+ [zoom>=6] { text-size: 20; }
+ }
+ [rank=3] {
+ [zoom=3] { text-name: [code]; }
+ [zoom=4] { text-size: 11; }
+ [zoom=5] { text-size: 15; }
+ [zoom=6] { text-size: 17; }
+ [zoom=7] { text-size: 18; text-wrap-width: 60; }
+ [zoom>=8] { text-size: 20; text-wrap-width: 120; }
+ }
+ [rank=4] {
+ [zoom=5] { text-size: 13; }
+ [zoom=6] { text-size: 15; text-wrap-width: 60 }
+ [zoom=7] { text-size: 16; text-wrap-width: 90; }
+ [zoom=8] { text-size: 18; text-wrap-width: 120; }
+ [zoom>=9] { text-size: 20; text-wrap-width: 120; }
+ }
+ [rank=5] {
+ [zoom=5] { text-size: 11; }
+ [zoom=6] { text-size: 13; }
+ [zoom=7] { text-size: 14; text-wrap-width: 60; }
+ [zoom=8] { text-size: 16; text-wrap-width: 90; }
+ [zoom>=9] { text-size: 18; text-wrap-width: 120; }
+ }
+ [rank>=6] {
+ [zoom=7] { text-size: 12; }
+ [zoom=8] { text-size: 14; }
+ [zoom>=9] { text-size: 16; }
+ }
+}
+
+// State labels //
+#place[class='state'][zoom>=4][zoom<=10] {
+ text-name: [name_en];
+ text-face-name: @sans;
+ text-placement: point;
+ text-fill: @fill2;
+ text-halo-fill: @land;
+ text-halo-radius: 1;
+ text-halo-rasterizer: fast;
+ text-size: 10;
+
+ [zoom>=5][zoom<=6] {
+ [area>10000] { text-size: 12; }
+ [area>50000] { text-size: 14; }
+ text-wrap-width: 40;
+ }
+ [zoom>=7][zoom<=8] {
+ text-size: 14;
+ [area>50000] { text-size: 16; text-character-spacing: 1; }
+ [area>100000] { text-size: 18; text-character-spacing: 3; }
+ text-wrap-width: 60;
+ }
+ [zoom>=9][zoom<=10] {
+ text-halo-radius: 2;
+ text-size: 16;
+ text-character-spacing: 2;
+ [area>50000] { text-size: 18; text-character-spacing: 2; }
+ text-wrap-width: 100;
+ }
+}
+
+// Display capital cities alongside stars.
+#place::capitals[class='city'][capital=2][zoom<9] {
+ shield-file: url("star.svg");
+ shield-name: '[name_en]';
+ shield-face-name: @sans;
+ shield-size: 12;
+ shield-fill: @text;
+ shield-halo-fill: @land;
+ shield-halo-radius: 1;
+ shield-unlock-image: true;
+ shield-wrap-width: 80;
+ shield-line-spacing: -2;
+
+ [zoom>=6] { shield-size: 16; }
+}
+
+// Display low zoom cities alongside points.
+#place[class='city'][rank<=4][zoom>=4][zoom<9] {
+ shield-name: '[name_en]';
+ shield-face-name: @sans;
+ shield-size: 12;
+ shield-fill: @text;
+ shield-halo-fill: @land;
+ shield-halo-radius: 1;
+ shield-unlock-image: true;
+ shield-file: url("dot.svg");
+ shield-wrap-width: 80;
+ shield-line-spacing: -2;
+
+ [zoom>=6] { shield-size: 14; }
+
+ // Emphasize major cities.
+ [rank<=6] { shield-size: 14; }
+ [zoom>=6][rank<=6] { shield-size: 16; }
+}
+
+// Gradually replace shields with regular text labels.
+#place[class='city'][rank<=4][zoom>=9] {
+ text-name: '[name_en]';
+ text-face-name: @sans;
+ text-size: 14;
+ text-fill: @text;
+ text-halo-fill: @land;
+ text-halo-radius: 1;
+ text-min-distance: 4;
+ text-wrap-width: 80;
+ [rank<=3] {
+ text-fill: @text;
+ text-size: 20;
+ }
+}
+
+// Mid priority place labels //
+#place[class='town'][rank<=15][zoom>=10],
+#place[class='village'][rank<=15][zoom>=12],
+#place[class='hamlet'][rank<=15][zoom>=13],
+#place[class='town'][rank<=15][zoom>=14],
+#place[class='village'][rank<=15][zoom>=14],
+#place[class='hamlet'][rank<=15][zoom>=14] {
+ text-name: '[name_en]';
+ text-face-name: @sans;
+ text-size: 13;
+ text-fill: @text;
+ text-halo-fill: @land;
+ text-halo-radius: 2;
+ text-min-distance: 4;
+ text-wrap-width: 80;
+ [zoom>=12] {
+ text-size: 16;
+ text-fill: @text;
+ }
+}
+
+// Low priority place labels //
+#place[class='suburb'][rank<=15][zoom>=12],
+#place[class='neighbourhood'][rank<=15][zoom>=13],
+#place[class='suburb'][rank<=15][zoom>=14],
+#place[class='neighbourhood'][rank<=15][zoom>=15] {
+ text-name: @name;
+ text-face-name: @sans;
+ text-size: 14;
+ text-fill: @text;
+ text-halo-fill: @land;
+ text-halo-radius: 2;
+ text-min-distance: 4;
+ text-wrap-width: 60;
+}
+
+// Road labels
+#road_label[len>2000][zoom>=12],
+#road_label[len>1000][zoom>=15] {
+ text-placement: line;
+ text-transform: uppercase;
+ text-face-name: @sans;
+ text-name: @name;
+ text-size: 9;
+ text-min-distance: 100;
+ text-halo-fill: @land;
+ text-halo-radius: 1;
+ text-fill: @text;
+ [zoom>=17] { text-size: 11;}
+}
+
+
+#water_label {
+ [zoom<=13],
+ [zoom>=14][area>500000],
+ [zoom>=16][area>10000],
+ [zoom>=17] {
+ text-name: @name;
+ text-face-name: @sans_bold;
+ text-fill: @text;
+ text-size: 12;
+ text-halo-fill: @water;
+ text-halo-radius: 1;
+ text-wrap-width: 60;
+ text-wrap-before: true;
+ text-avoid-edges: true;
+ }
+}
+
+#waterway[class='river'][name!=null][zoom>=13],
+#waterway[class='canal'][name!=null][zoom>=14],
+#waterway[class='stream'][name!=null][zoom>=15] {
+ text-name: @name;
+ text-face-name: @sans_bold;
+ text-fill: @text;
+ text-min-distance: 60;
+ text-size: 10;
+ text-halo-fill: @water;
+ text-halo-radius: 1;
+ text-wrap-before: true;
+ text-avoid-edges: true;
+ text-placement: line;
+}
+
+// Place labels
+#poi[class='park'][rank<=2],
+#poi[class='airport'][rank<=2],
+#poi[class='airfield'][rank<=2],
+#poi[class='rail'][rank<=2],
+#poi[class='school'][rank<=2],
+#poi[class='hospital'][rank<=2] {
+ text-face-name: @sans_bold;
+ text-allow-overlap: false;
+ text-name: @name;
+ text-size: 9;
+ text-line-spacing: -2;
+ text-min-distance: 50;
+ text-wrap-width: 60;
+ text-halo-fill: @land;
+ text-halo-radius: 1;
+ text-fill: @text;
+}