embedded toner style no longer needed as we can use the GeoFabrik port

dev-extra-polygon-padding
Hartmut Holzgraefe 2019-03-24 08:19:44 +00:00
rodzic f42be8a725
commit d967b62194
5 zmienionych plików z 0 dodań i 6652 usunięć

Wyświetl plik

@ -1,108 +0,0 @@
From a886e5018e0e4413bd9ffc18ec7c792fca53cf24 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89tienne=20Loks?= <etienne.loks@peacefrogs.net>
Date: Sun, 15 Apr 2012 01:47:10 +0200
Subject: [PATCH] Fixes output.py to make it compatible with mapnik 2.1
Change TextSymbolizer attributes to make them compatible with new
version of Mapnik.
---
cascadenik/output.py | 42 +++++++++++++++++++++---------------------
1 file changed, 21 insertions(+), 21 deletions(-)
diff --git a/cascadenik/output.py b/cascadenik/output.py
index a696df9..77a9f2b 100644
--- a/cascadenik/output.py
+++ b/cascadenik/output.py
@@ -232,7 +232,7 @@ class LineSymbolizer:
class TextSymbolizer:
def __init__(self, name, face_name, size, color, wrap_width=None, \
- label_spacing=None, label_position_tolerance=None, max_char_angle_delta=None, \
+ label_spacing=None, label_position_tolerance=None, maximum_angle_char_delta=None, \
halo_color=None, halo_radius=None, dx=None, dy=None, avoid_edges=None, \
minimum_distance=None, allow_overlap=None, label_placement=None, \
character_spacing=None, line_spacing=None, text_transform=None, fontset=None, \
@@ -247,7 +247,7 @@ class TextSymbolizer:
assert wrap_width is None or type(wrap_width) is int
assert label_spacing is None or type(label_spacing) is int
assert label_position_tolerance is None or type(label_position_tolerance) is int
- assert max_char_angle_delta is None or type(max_char_angle_delta) is int
+ assert maximum_angle_char_delta is None or type(maximum_angle_char_delta) is int
assert halo_color is None or halo_color.__class__ is style.color
assert halo_radius is None or type(halo_radius) is int
assert dx is None or type(dx) is int
@@ -271,7 +271,7 @@ class TextSymbolizer:
self.wrap_width = wrap_width
self.label_spacing = label_spacing
self.label_position_tolerance = label_position_tolerance
- self.max_char_angle_delta = max_char_angle_delta
+ self.maximum_angle_char_delta = maximum_angle_char_delta
self.halo_color = halo_color
self.halo_radius = halo_radius
self.dx = dx
@@ -312,23 +312,23 @@ class TextSymbolizer:
sym = mapnik.TextSymbolizer(expr, self.face_name, self.size,
mapnik.Color(str(self.color)))
- sym.wrap_width = self.wrap_width or sym.wrap_width
- sym.label_spacing = self.label_spacing or sym.label_spacing
- sym.label_position_tolerance = self.label_position_tolerance or sym.label_position_tolerance
- sym.max_char_angle_delta = self.max_char_angle_delta or sym.max_char_angle_delta
- sym.halo_fill = mapnik.Color(str(self.halo_color)) if self.halo_color else sym.halo_fill
- sym.halo_radius = self.halo_radius or sym.halo_radius
- sym.character_spacing = self.character_spacing or sym.character_spacing
- sym.line_spacing = self.line_spacing or sym.line_spacing
- sym.avoid_edges = self.avoid_edges.value if self.avoid_edges else sym.avoid_edges
- sym.force_odd_labels = self.force_odd_labels.value if self.force_odd_labels else sym.force_odd_labels
- sym.minimum_distance = self.minimum_distance or sym.minimum_distance
- sym.allow_overlap = self.allow_overlap.value if self.allow_overlap else sym.allow_overlap
+ sym.placements.defaults.wrap_width = self.wrap_width or sym.placements.defaults.wrap_width
+ sym.placements.defaults.label_spacing = self.label_spacing or sym.placements.defaults.label_spacing
+ sym.placements.defaults.label_position_tolerance = self.label_position_tolerance or sym.placements.defaults.label_position_tolerance
+ sym.placements.defaults.maximum_angle_char_delta = self.maximum_angle_char_delta or sym.placements.defaults.maximum_angle_char_delta
+ sym.format.halo_fill = mapnik.Color(str(self.halo_color)) if self.halo_color else sym.format.halo_fill
+ sym.format.halo_radius = self.halo_radius or sym.format.halo_radius
+ sym.format.character_spacing = self.character_spacing or sym.format.character_spacing
+ sym.format.line_spacing = self.line_spacing or sym.format.line_spacing
+ sym.placements.defaults.avoid_edges = self.avoid_edges.value if self.avoid_edges else sym.placements.defaults.avoid_edges
+ sym.placements.defaults.force_odd_labels = self.force_odd_labels.value if self.force_odd_labels else sym.placements.defaults.force_odd_labels
+ sym.placements.defaults.minimum_distance = self.minimum_distance or sym.placements.defaults.minimum_distance
+ sym.placements.defaults.allow_overlap = self.allow_overlap.value if self.allow_overlap else sym.placements.defaults.allow_overlap
if self.label_placement:
- sym.label_placement = mapnik.label_placement.names.get(self.label_placement,mapnik.label_placement.POINT_PLACEMENT)
+ sym.placements.defaults.label_placement = mapnik.label_placement.names.get(self.label_placement,mapnik.label_placement.POINT_PLACEMENT)
# note-renamed in Mapnik2 to 'text_transform'
if self.text_transform:
- sym.text_transform = convert_enums.get(self.text_transform,mapnik.text_transform.NONE)
+ sym.format.text_transform = convert_enums.get(self.text_transform,mapnik.text_transform.NONE)
if self.vertical_alignment:
# match the logic in load_map.cpp for conditionally applying vertical_alignment default
default_vertical_alignment = mapnik.vertical_alignment.MIDDLE
@@ -337,10 +337,10 @@ class TextSymbolizer:
elif self.dy < 0.0:
default_vertical_alignment = mapnik.vertical_alignment.TOP
- sym.vertical_alignment = mapnik.vertical_alignment.names.get(self.vertical_alignment,
+ sym.placements.defaults.vertical_alignment = mapnik.vertical_alignment.names.get(self.vertical_alignment,
default_vertical_alignment)
if self.justify_alignment:
- sym.justify_alignment = mapnik.justify_alignment.names.get(self.justify_alignment,
+ sym.placements.defaults.justify_alignment = mapnik.justify_alignment.names.get(self.justify_alignment,
mapnik.justify_alignment.MIDDLE)
if self.fontset:
@@ -349,9 +349,9 @@ class TextSymbolizer:
sys.stderr.write('\nCascadenik debug: Warning, FontSets will be ignored as they are not yet supported in Mapnik via Python...\n')
try:
- sym.displacement = (self.dx or 0.0, self.dy or 0.0)
+ sym.placements.defaults.displacement = (self.dx or 0.0, self.dy or 0.0)
except:
- sym.displacement(self.dx or 0.0, self.dy or 0.0)
+ sym.placements.defaults.displacement(self.dx or 0.0, self.dy or 0.0)
return sym
--
1.7.9.5

Wyświetl plik

@ -1,670 +0,0 @@
/*
The labels are for world zooms, mid-zooms, and detailed city zooms, all in one file.
Covers zooms 0 to 19.
Used in map style MMLs:
 Normal map style
- just this MSS
 Hybrid map style
- also overriden by:
toner-hybrid-with-labels.mss
 Hybrid map style - labels only
- also overriden by:
toner-hybrid-only-labels.mss
*/
/*
Continent labels are just points.
*/
#continent-labels[zoom>=1][zoom<3] name
{
text-face-name: 'DejaVu Sans Bold';
text-wrap-width: 32;
text-size: 14;
text-fill: #000;
text-halo-radius: 3;
text-halo-fill: #fff;
}
/*
Ocean, Sea, Bay and other marine labels. Some use of scalerank column
here helps define exactly which features come in at which zoom levels.
*/
#marine-labels-110m[zoom=2][scalerank=0] name,
#marine-labels-110m[zoom=3] name,
#marine-labels-50m[zoom=4][scalerank<4] name
{
text-face-name: 'DejaVu Sans Bold Oblique';
text-wrap-width: 80;
text-size: 14;
text-fill: #fff;
text-halo-radius: 1;
text-halo-fill: #000;
}
#marine-labels-50m[zoom>=5][zoom<6] name,
#marine-labels-10m[zoom>=6] name
{
text-face-name: 'DejaVu Sans Oblique';
text-wrap-width: 80;
text-size: 14;
text-fill: #fff;
text-halo-radius: 1;
text-halo-fill: #000;
}
/*
Country labels
*/
.country-labels-110m-z3[zoom=3][longfrom<=3] name,
.country-labels-110m-z3[zoom=3][longfrom>3] shortname
{
text-face-name: 'DejaVu Sans';
text-wrap-width: 80;
text-size: 13;
text-fill: #000;
text-halo-radius: 2;
text-halo-fill: #fff;
}
.country-labels-110m-z4[zoom=4] label_z4
{
text-face-name: 'DejaVu Sans Bold';
text-wrap-width: 80;
text-size: 14;
text-fill: #000;
text-halo-radius: 2;
text-halo-fill: #fff;
}
.country-labels-110m-z5[zoom=5] label_z5
{
text-face-name: 'DejaVu Sans Bold';
text-wrap-width: 80;
text-size: 16;
text-fill: #000;
text-halo-radius: 2;
text-halo-fill: #fff;
}
.country-labels-110m-z6[zoom=6] label_z6
{
text-face-name: 'DejaVu Sans Bold';
text-wrap-width: 80;
text-size: 18;
text-fill: #000;
text-halo-radius: 2;
text-halo-fill: #fff;
}
/*
Admin-1 (states, provinces) labels
*/
.admin1-labels-50m-z4[zoom=4] label_z4,
.admin1-labels-50m-z5[zoom=5] label_z5,
.admin1-labels-50m-z6[zoom=6] label_z6,
.admin1-labels-50m-z7[zoom=7] label_z7
{
text-face-name: 'DejaVu Sans';
text-wrap-width: 80;
text-fill: #000;
text-halo-radius: 2;
text-halo-fill: #fff;
}
.admin1-labels-50m-z4[zoom=4]{ text-size: 12; }
.admin1-labels-50m-z5[zoom=5]{ text-size: 16; }
.admin1-labels-50m-z6[zoom=6]{ text-size: 18; }
.admin1-labels-50m-z7[zoom=7]{ text-size: 20; }
/*
City labels
*/
.city-points-z4[zoom=4],
.city-points-z5[zoom=5],
.city-points-z6[zoom=6],
.city-points-z7[zoom=7],
.city-points-z8[zoom=8]
/*,
.city-points-z9[zoom=9]*/
{
point-file: url('icons/dot.png');
point-allow-overlap: true;
}
.city-labels-z4[zoom=4][justified='left'],
.city-labels-z5[zoom=5][justified='left'],
.city-labels-z6[zoom=6][justified='left'],
.city-labels-z7[zoom=7][justified='left'],
.city-labels-z8[zoom=8][justified='left']
/*,
.city-labels-z9[zoom=9][justified='left']
*/
{
text-dx: -5;
text-dy: 1;
}
.city-labels-z4[zoom=4][justified='right'],
.city-labels-z5[zoom=5][justified='right'],
.city-labels-z6[zoom=6][justified='right'],
.city-labels-z7[zoom=7][justified='right'],
.city-labels-z8[zoom=8][justified='right']
/*,
.city-labels-z9[zoom=9][justified='right']
*/
{
text-dx: 5;
text-dy: 1;
}
.city-labels-z4[zoom=4] name,
.city-labels-z5[zoom=5] name,
.city-labels-z6[zoom=6] name
{
text-allow-overlap: true;
text-face-name: 'DejaVu Sans';
text-fill: #000;
text-halo-radius: 2;
text-halo-fill: #fff;
}
.city-labels-z7[zoom=7] name
{
text-allow-overlap: true;
text-face-name: 'DejaVu Sans Bold';
text-fill: #000;
text-halo-radius: 2;
text-halo-fill: #fff;
}
.city-labels-z8[zoom=8] name,
.city-points-z9[zoom=9] name,
.city-points-z10[zoom=10] name,
.city-points-z11[zoom=11] name,
.city-points-z12[zoom=12] name
{
text-allow-overlap: true;
text-face-name: 'DejaVu Sans Bold';
text-fill: #000;
text-halo-radius: 2;
text-halo-fill: #fff;
}
/*
We loose the townspot and don't use Dymo
placement anymore, so don't let Mapnik
overlap
*/
.city-points-z9[zoom=9] name,
.city-points-z10[zoom=10] name,
.city-points-z11[zoom=11] name,
.city-points-z12[zoom=12] name
{
text-allow-overlap: false;
}
/*
City Labels ZOOM 4
*/
.city-labels-z4[zoom=4] name { text-size: 10; }
.city-labels-z4[zoom=4][font_size=14] name { text-size: 14; }
/* About: */
/* Labels should look pretty, that's where Dymo comes in */
/* These are for the Dymo settings, and for debug */
/* Once it goes thru Dymo, we just use font_size */
/* NOTE: We use font_size instead of population proxy, */
/* as Mapnik freaks when pop is not a number, and sometimes */
/* Dymo doesn't spit out the right field formating. */
/*
.city-labels-z4[zoom=4] name { text-size: 10; }
.city-labels-z4[zoom=4][population>=25000] name { text-size: 10; }
.city-labels-z4[zoom=4][population>=100000] name { text-size: 10; }
.city-labels-z4[zoom=4][population>=1000000] name { text-size: 14; }
*/
/*
City Labels ZOOM 5
*/
.city-labels-z5[zoom=5] name { text-size: 12; }
.city-labels-z5[zoom=5][font_size=16] name { text-size: 16; }
/*
.city-labels-z5[zoom=5] name { text-size: 12; }
.city-labels-z5[zoom=5][population>=25000] name { text-size: 12; }
.city-labels-z5[zoom=5][population>=100000] name { text-size: 12; }
.city-labels-z5[zoom=5][population>=1000000] name { text-size: 16; }
*/
/*
City Labels ZOOM 6
*/
.city-labels-z6[zoom=6] name { text-size: 12; }
.city-labels-z6[zoom=6][font_size=18] name { text-size: 18; }
/*
.city-labels-z6[zoom=6] name { text-size: 12; }
.city-labels-z6[zoom=6][population>=25000] name { text-size: 12; }
.city-labels-z6[zoom=6][population>=100000] name { text-size: 12; }
.city-labels-z6[zoom=6][population>=1000000] name { text-size: 18; }
*/
/*
City Labels ZOOM 7
*/
.city-labels-z7[zoom=7] name { text-size: 12; }
.city-labels-z7[zoom=7][font_size=18] name { text-size: 18; }
/*
.city-labels-z7[zoom=7][population>0] name { text-size: 12; }
.city-labels-z7[zoom=7][population>=25000] name { text-size: 12; }
.city-labels-z7[zoom=7][population>=100000] name { text-size: 12; }
.city-labels-z7[zoom=7][population>=1000000] name { text-size: 18; }
*/
/*
City Labels ZOOM 8, 9 10
*/
.city-labels-z8[zoom=8] name { text-size: 13; }
.city-labels-z8[zoom=8][font_size=20] name { text-size: 20; }
.city-points-z9[zoom=9] name { text-size: 13; }
.city-points-z9[zoom=9][font_size=20] name { text-size: 20; }
.city-points-z10[zoom=10] name { text-size: 13; }
.city-points-z10[zoom=10][font_size=20] name { text-size: 20; }
.city-points-z11[zoom=11] name { text-size: 13; }
.city-points-z11[zoom=11][font_size=20] name { text-size: 20; }
.city-points-z12[zoom=12] name { text-size: 13; }
.city-points-z12[zoom=12][font_size=20] name { text-size: 20; }
/*
.city-labels-z8[zoom=8] name { text-size: 13; }
.city-labels-z8[zoom=8][population>=25000] name { text-size: 13; }
.city-labels-z8[zoom=8][population>=100000] name { text-size: 20; }
.city-labels-z8[zoom=8][population>=1000000] name { text-size: 20; }
.city-points-z9[zoom=9] name { text-size: 13; }
.city-points-z9[zoom=9][population>=25000] name { text-size: 13; }
.city-points-z9[zoom=9][population>=100000] name { text-size: 20; }
.city-points-z9[zoom=9][population>=1000000] name { text-size: 20; }
.city-points-z10[zoom=10] name { text-size: 13; }
.city-points-z10[zoom=10][population>=25000] name { text-size: 13; }
.city-points-z10[zoom=10][population>=100000] name { text-size: 20; }
.city-points-z10[zoom=10][population>=1000000] name { text-size: 20; }
.city-points-z11[zoom=11] name { text-size: 13; }
.city-points-z11[zoom=11][population>=25000] name { text-size: 13; }
.city-points-z11[zoom=11][population>=100000] name { text-size: 20; }
.city-points-z11[zoom=11][population>=1000000] name { text-size: 20; }
.city-points-z12[zoom=12] name { text-size: 13; }
.city-points-z12[zoom=12][population>=25000] name { text-size: 13; }
.city-points-z12[zoom=12][population>=100000] name { text-size: 20; }
.city-points-z12[zoom=12][population>=1000000] name { text-size: 20; }
*/
/*
If you wanted to use OSM labels instead...
Note: make sure that layer is 'on' in the MML
*/
.osm-place-points[zoom>=10][place=village] name,
.osm-place-points[zoom>=10][place=hamlet] name
{
text-allow-overlap: false;
text-face-name: 'DejaVu Sans Bold';
text-fill: #000;
text-halo-radius: 2;
text-halo-fill: #fff;
text-size: 13;
}
.osm-place-points[zoom>=10][place=locality] name
{
text-allow-overlap: false;
text-face-name: 'DejaVu Sans Bold';
text-fill: #000;
text-halo-radius: 2;
text-halo-fill: #fff;
text-size: 11;
}
/*
Park labels
*/
/* */
/* REFERNCE THE POLYS being filtered */
/*
.green-areas[zoom=10][area>5000000],
.green-areas[zoom=11][area>1000000],
.green-areas[zoom=12][area> 500000],
.green-areas[zoom=12][area> 200000],
.green-areas[zoom=13][area> 75000],
.green-areas[zoom=14][area> 10000],
.green-areas[zoom>14]
{
*/
.water-bodies-labels[zoom=9][area>100000000][kind=lake] name,
.water-bodies-labels[zoom=10][area>100000000][kind=lake] name,
.water-bodies-labels[zoom=11][area>25000000] name
{
text-face-name: 'DejaVu Sans Oblique';
text-size: 12;
text-placement: point;
text-max-char-angle-delta: 30;
text-halo-radius: 2;
text-spacing: 200;
text-allow-overlap: false;
text-wrap-width: 50;
}
.water-bodies-labels[zoom=12][area>5000000][kind=lake] name,
#green-areas-labels[zoom=12][area>5000000] name
{
text-face-name: 'DejaVu Sans Oblique';
text-size: 12;
text-placement: point;
text-max-char-angle-delta: 30;
text-halo-radius: 2;
text-spacing: 200;
text-allow-overlap: false;
text-wrap-width: 70;
}
.water-bodies-labels[zoom=13][area>2000000][kind=lake] name,
#green-areas-labels[zoom=13][area>2000000] name
{
text-face-name: 'DejaVu Sans Oblique';
text-size: 12;
text-placement: point;
text-max-char-angle-delta: 30;
text-halo-radius: 2;
text-spacing: 100;
text-allow-overlap: false;
text-wrap-width: 70;
}
.water-bodies-labels[zoom=14][area>200000] name,
#green-areas-labels[zoom=14][area>200000] name
{
text-face-name: 'DejaVu Sans Oblique';
text-size: 12;
text-placement: point;
text-max-char-angle-delta: 30;
text-halo-radius: 2;
text-spacing: 100;
text-allow-overlap: false;
text-wrap-width: 70;
}
.water-bodies-labels[zoom=15][area>50000] name,
#green-areas-labels[zoom=15][area>50000] name
{
text-face-name: 'DejaVu Sans Oblique';
text-size: 12;
text-placement: point;
text-max-char-angle-delta: 30;
text-halo-radius: 2;
text-spacing: 100;
text-allow-overlap: false;
text-wrap-width: 30;
}
.water-bodies-labels[zoom=16][area>10000] name,
.water-bodies-labels[zoom>=17] name,
#green-areas-labels[zoom=16][area>10000] name,
#green-areas-labels[zoom>=17] name
{
text-face-name: 'DejaVu Sans Oblique';
text-size: 13;
text-placement: point;
text-max-char-angle-delta: 30;
text-wrap-width: 40;
text-halo-radius: 2;
text-spacing: 100;
text-allow-overlap: false;
text-wrap-width: 40;
}
.water-bodies-labels[zoom>=9] name
{
text-fill: #fff;
text-halo-fill: #000;
text-size: 13 !important;
}
.water-bodies-labels[zoom>=16] name
{
text-size: 14 !important;
}
#green-areas-labels[zoom>=12] name
{
text-fill: #000;
text-halo-fill: #fff;
}
/*
Road labels
*/
#major-road-labels[zoom>=12] name
{
text-face-name: 'DejaVu Sans Bold';
text-placement: line;
text-max-char-angle-delta: 30;
text-fill: #000;
text-halo-radius: 1;
text-halo-fill: #fff;
text-spacing: 100;
}
#major-road-labels[highway=trunk][zoom>=14] name
{
text-face-name: 'DejaVu Sans Bold';
text-placement: line;
text-max-char-angle-delta: 30;
text-fill: #000;
text-halo-radius: 1;
text-halo-fill: #fff;
text-spacing: 100;
}
#major-road-labels[highway=primary][zoom>=14] name
{
text-face-name: 'DejaVu Sans Bold';
text-placement: line;
text-max-char-angle-delta: 30;
text-fill: #000;
text-halo-radius: 1;
text-halo-fill: #fff;
text-spacing: 100;
}
#major-road-labels[highway=primary][zoom>=16] name
{
text-halo-radius: 2;
}
#major-road-labels[zoom=16] name
{
text-fill: #000;
text-halo-fill: #fff;
}
#major-road-labels[is_tunnel=yes][zoom>=15] name
{
text-fill: #777;
text-halo-fill: #fff;
}
#minor-road-labels[zoom>=16] name
{
text-face-name: 'DejaVu Sans Bold';
text-placement: line;
text-max-char-angle-delta: 30;
text-fill: #000;
text-halo-radius: 1;
text-halo-fill: #fff;
text-spacing: 100;
}
#major-road-labels[zoom=12] name { text-dy: 7; }
#major-road-labels[highway=trunk][zoom=12] name { text-size: 12; }
#major-road-labels[highway=primary][zoom=12] name { text-size: 12; }
#major-road-labels[zoom=13] name { text-dy: 8; }
#major-road-labels[highway=trunk][zoom=13] name { text-size: 13; }
#major-road-labels[highway=primary][zoom=13] name { text-size: 13; }
#major-road-labels[highway=trunk][zoom=14] name { text-dy: 9; text-size: 14; }
#major-road-labels[highway=primary][zoom=14] name { text-dy: 9; text-size: 14; }
#major-road-labels[highway=secondary][zoom=14] name { text-dy: 7; text-size: 12; }
#major-road-labels[highway=trunk][zoom=15] name { text-dy: 12; text-size: 15; }
#major-road-labels[highway=primary][zoom=15] name { text-dy: 12; text-size: 15; }
#major-road-labels[highway=secondary][zoom=15] name { text-dy: 11; text-size: 13; }
#major-road-labels[highway=tertiary][zoom=15] name { text-dy: 11; text-size: 13; }
#major-road-labels[highway=trunk][zoom=16] name { text-dy: 13; text-size: 14; }
#major-road-labels[highway=primary][zoom=16] name { text-dy: 13; text-size: 14; }
#major-road-labels[highway=secondary][zoom=16] name { text-dy: 13; text-spacing: 124; text-size: 13; text-halo-radius: 2; }
#major-road-labels[highway=tertiary][zoom=16] name { text-dy: 13; text-spacing: 124; text-size: 13; text-halo-radius: 2; }
#minor-road-labels[zoom=16] name { text-dy: 10; text-spacing: 124; text-size: 10; text-halo-radius: 2; }
#major-road-labels[highway=trunk][zoom=17] name { text-dy: 16; text-size: 16; }
#major-road-labels[highway=primary][zoom=17] name { text-dy: 14; text-size: 14; }
#major-road-labels[highway=secondary][zoom=17] name { text-dy: 14; text-spacing: 180; text-size: 14; text-halo-radius: 2; }
#major-road-labels[highway=tertiary][zoom=17] name { text-dy: 13; text-spacing: 180; text-size: 12; text-halo-radius: 2; }
#minor-road-labels[zoom=17] name { text-dy: 13; text-spacing: 180; text-size: 12; text-halo-radius: 2; }
#major-road-labels[highway=trunk][zoom>=18] name { text-size: 16; }
#major-road-labels[highway=primary][zoom>=18] name { text-size: 14; }
#major-road-labels[highway=secondary][zoom>=18] name { text-size: 14; text-spacing: 300; text-halo-radius: 2; }
#major-road-labels[highway=tertiary][zoom>=18] name { text-size: 12; text-spacing: 400; text-halo-radius: 2; }
#minor-road-labels[zoom>=18] name { text-size: 12; text-spacing: 400; text-halo-radius: 2; }
/*
Subway stations and icons
*/
#poi-stations[zoom>=18][railway=station] name
{
text-face-name: 'DejaVu Sans Bold';
text-size: 12;
text-placement: point;
text-max-char-angle-delta: 30;
text-fill: #4581C3;
text-halo-radius: 1;
text-halo-fill: #fff;
text-spacing: 100;
text-allow-overlap: true;
text-wrap-width: 30;
text-dx: 0;
text-dy: 8;
}
#poi-station-labels[zoom=17][railway=station] {
point-file: url('icons/subway_sm.png');
}
#poi-station-labels[zoom>=18][railway=station] {
point-file: url('icons/subway.png');
}
/*
.airports[zoom=2][natlscale>148],
.airports[zoom=3][natlscale>74],
.airports[zoom=4][natlscale>37],
.airports[zoom=5][natlscale>18],
.airports[zoom=6][natlscale>9.2],
.airports[zoom=7][natlscale>4.6],
.airports[zoom=8][natlscale>2.3],
.airports[zoom=9][natlscale>1.2],
*/
.airports[zoom=10][natlscale>.57],
.airports[zoom=11][natlscale>.29],
/*
.airports[zoom=12][natlscale>.14],
.airports[zoom=13][natlscale>.07]
*/
.airports[zoom=12][natlscale>.29],
.airports[zoom=13][natlscale>.29]
{
point-file: url('icons/airplane-19-reverse.png');
}
/*
.airports[zoom=14][natlscale>.04],
.airports[zoom=15][natlscale>.02],
.airports[zoom>=16][natlscale>.01],
.airports[zoom=14][natlscale>.29],
.airports[zoom=15][natlscale>.29],
.airports[zoom>=16][natlscale>.29]
{
point-file: url('icons/airplane-35-reverse.png');
}
*/
/*
.airports[zoom=2][natlscale>148] label_sm,
.airports[zoom=3][natlscale>74] label_sm,
.airports[zoom=4][natlscale>37] label_sm,
.airports[zoom=5][natlscale>18] label_sm,
.airports[zoom=6][natlscale>9.2] label_sm,
.airports[zoom=7][natlscale>4.6] label_sm,
.airports[zoom=8][natlscale>2.3] label_sm,
.airports[zoom=9][natlscale>1.2] label_sm,
.airports[zoom=10][natlscale>.57] label_sm,
*/
/*
.airports[zoom=11][natlscale>.29] label_sm,
.airports[zoom=12][natlscale>.29] label_sm,
*/
/*
.airports[zoom=12][natlscale>.14] label_sm,
.airports[zoom=13][natlscale>.07] label_lng,
.airports[zoom=14][natlscale>.04] label_lng,
.airports[zoom=15][natlscale>.02] label_lng,
.airports[zoom>=16][natlscale>.01] label_lng
*/
.airports[zoom=13][natlscale>.29] label_lng,
.airports[zoom=14][natlscale>.29] label_lng,
.airports[zoom=15][natlscale>.29] label_lng,
.airports[zoom>=16][natlscale>.29] label_lng
{
text-face-name: 'DejaVu Sans Oblique';
text-fill: #000;
text-size: 14;
text-halo-fill: #fff;
text-halo-radius: 2;
text-wrap-width: 128;
text-dy: 14;
text-allow-overlap: true;
}
.airports[zoom=14][natlscale>.29] label_lng,
.airports[zoom=15][natlscale>.29] label_lng,
.airports[zoom>=16][natlscale>.29] label_lng
{
text-dy: 0;
}

Wyświetl plik

@ -1,668 +0,0 @@
/*
The labels are for world zooms, mid-zooms, and detailed city zooms, all in one file.
Covers zooms 0 to 19.
Used in map style MMLs:
 Normal map style
- just this MSS
 Hybrid map style
- also overriden by:
toner-hybrid-with-labels.mss
 Hybrid map style - labels only
- also overriden by:
toner-hybrid-only-labels.mss
*/
/*
Continent labels are just points.
*/
#continent-labels[zoom>=1][zoom<3] name
{
text-face-name: 'Arial Unicode MS Bold';
text-wrap-width: 32;
text-size: 14;
text-fill: #000;
text-halo-radius: 3;
text-halo-fill: #fff;
}
/*
Ocean, Sea, Bay and other marine labels. Some use of scalerank column
here helps define exactly which features come in at which zoom levels.
*/
#marine-labels-110m[zoom=2][scalerank=0] name,
#marine-labels-110m[zoom=3] name,
#marine-labels-50m[zoom=4][scalerank<4] name
{
text-face-name: 'Arial Unicode MS Bold Italic';
text-wrap-width: 80;
text-size: 14;
text-fill: #fff;
text-halo-radius: 1;
text-halo-fill: #000;
}
#marine-labels-50m[zoom>=5][zoom<6] name,
#marine-labels-10m[zoom>=6] name
{
text-face-name: 'Arial Unicode MS Italic';
text-wrap-width: 80;
text-size: 14;
text-fill: #fff;
text-halo-radius: 1;
text-halo-fill: #000;
}
/*
Country labels
*/
.country-labels-110m-z3[zoom=3][longfrom<=3] name,
.country-labels-110m-z3[zoom=3][longfrom>3] shortname
{
text-face-name: 'Arial Regular';
text-wrap-width: 80;
text-size: 13;
text-fill: #000;
text-halo-radius: 2;
text-halo-fill: #fff;
}
.country-labels-110m-z4[zoom=4] label_z4
{
text-face-name: 'Arial Unicode MS Bold';
text-wrap-width: 80;
text-size: 14;
text-fill: #000;
text-halo-radius: 2;
text-halo-fill: #fff;
}
.country-labels-110m-z5[zoom=5] label_z5
{
text-face-name: 'Arial Unicode MS Bold';
text-wrap-width: 80;
text-size: 16;
text-fill: #000;
text-halo-radius: 2;
text-halo-fill: #fff;
}
.country-labels-110m-z6[zoom=6] label_z6
{
text-face-name: 'Arial Unicode MS Bold';
text-wrap-width: 80;
text-size: 18;
text-fill: #000;
text-halo-radius: 2;
text-halo-fill: #fff;
}
/*
Admin-1 (states, provinces) labels
*/
.admin1-labels-50m-z4[zoom=4] label_z4,
.admin1-labels-50m-z5[zoom=5] label_z5,
.admin1-labels-50m-z6[zoom=6] label_z6,
.admin1-labels-50m-z7[zoom=7] label_z7
{
text-face-name: 'Arial Unicode MS Regular';
text-wrap-width: 80;
text-fill: #000;
text-halo-radius: 2;
text-halo-fill: #fff;
}
.admin1-labels-50m-z4[zoom=4]{ text-size: 12; }
.admin1-labels-50m-z5[zoom=5]{ text-size: 16; }
.admin1-labels-50m-z6[zoom=6]{ text-size: 18; }
.admin1-labels-50m-z7[zoom=7]{ text-size: 20; }
/*
City labels
*/
.city-points-z4[zoom=4],
.city-points-z5[zoom=5],
.city-points-z6[zoom=6],
.city-points-z7[zoom=7],
.city-points-z8[zoom=8]
/*,
.city-points-z9[zoom=9]*/
{
point-file: url('icons/dot.png');
point-allow-overlap: true;
}
.city-labels-z4[zoom=4][justified='left'],
.city-labels-z5[zoom=5][justified='left'],
.city-labels-z6[zoom=6][justified='left'],
.city-labels-z7[zoom=7][justified='left'],
.city-labels-z8[zoom=8][justified='left']
/*,
.city-labels-z9[zoom=9][justified='left']
*/
{
text-dx: -5;
text-dy: 1;
}
.city-labels-z4[zoom=4][justified='right'],
.city-labels-z5[zoom=5][justified='right'],
.city-labels-z6[zoom=6][justified='right'],
.city-labels-z7[zoom=7][justified='right'],
.city-labels-z8[zoom=8][justified='right']
/*,
.city-labels-z9[zoom=9][justified='right']
*/
{
text-dx: 5;
text-dy: 1;
}
.city-labels-z4[zoom=4] name,
.city-labels-z5[zoom=5] name,
.city-labels-z6[zoom=6] name
{
text-allow-overlap: true;
text-face-name: 'Arial Unicode MS Regular';
text-fill: #000;
text-halo-radius: 2;
text-halo-fill: #fff;
}
.city-labels-z7[zoom=7] name
{
text-allow-overlap: true;
text-face-name: 'Arial Unicode MS Bold';
text-fill: #000;
text-halo-radius: 2;
text-halo-fill: #fff;
}
.city-labels-z8[zoom=8] name,
.city-points-z9[zoom=9] name,
.city-points-z10[zoom=10] name,
.city-points-z11[zoom=11] name,
.city-points-z12[zoom=12] name
{
text-allow-overlap: true;
text-face-name: 'Arial Unicode MS Bold';
text-fill: #000;
text-halo-radius: 2;
text-halo-fill: #fff;
}
/*
We loose the townspot and don't use Dymo
placement anymore, so don't let Mapnik
overlap
*/
.city-points-z9[zoom=9] name,
.city-points-z10[zoom=10] name,
.city-points-z11[zoom=11] name,
.city-points-z12[zoom=12] name
{
text-allow-overlap: false;
}
/*
City Labels ZOOM 4
*/
.city-labels-z4[zoom=4] name { text-size: 10; }
.city-labels-z4[zoom=4][font_size=14] name { text-size: 14; }
/* About: */
/* Labels should look pretty, that's where Dymo comes in */
/* These are for the Dymo settings, and for debug */
/* Once it goes thru Dymo, we just use font_size */
/* NOTE: We use font_size instead of population proxy, */
/* as Mapnik freaks when pop is not a number, and sometimes */
/* Dymo doesn't spit out the right field formating. */
/*
.city-labels-z4[zoom=4] name { text-size: 10; }
.city-labels-z4[zoom=4][population>=25000] name { text-size: 10; }
.city-labels-z4[zoom=4][population>=100000] name { text-size: 10; }
.city-labels-z4[zoom=4][population>=1000000] name { text-size: 14; }
*/
/*
City Labels ZOOM 5
*/
.city-labels-z5[zoom=5] name { text-size: 12; }
.city-labels-z5[zoom=5][font_size=16] name { text-size: 16; }
/*
.city-labels-z5[zoom=5] name { text-size: 12; }
.city-labels-z5[zoom=5][population>=25000] name { text-size: 12; }
.city-labels-z5[zoom=5][population>=100000] name { text-size: 12; }
.city-labels-z5[zoom=5][population>=1000000] name { text-size: 16; }
*/
/*
City Labels ZOOM 6
*/
.city-labels-z6[zoom=6] name { text-size: 12; }
.city-labels-z6[zoom=6][font_size=18] name { text-size: 18; }
/*
.city-labels-z6[zoom=6] name { text-size: 12; }
.city-labels-z6[zoom=6][population>=25000] name { text-size: 12; }
.city-labels-z6[zoom=6][population>=100000] name { text-size: 12; }
.city-labels-z6[zoom=6][population>=1000000] name { text-size: 18; }
*/
/*
City Labels ZOOM 7
*/
.city-labels-z7[zoom=7] name { text-size: 12; }
.city-labels-z7[zoom=7][font_size=18] name { text-size: 18; }
/*
.city-labels-z7[zoom=7][population>0] name { text-size: 12; }
.city-labels-z7[zoom=7][population>=25000] name { text-size: 12; }
.city-labels-z7[zoom=7][population>=100000] name { text-size: 12; }
.city-labels-z7[zoom=7][population>=1000000] name { text-size: 18; }
*/
/*
City Labels ZOOM 8, 9 10
*/
.city-labels-z8[zoom=8] name { text-size: 13; }
.city-labels-z8[zoom=8][font_size=20] name { text-size: 20; }
.city-points-z9[zoom=9] name { text-size: 13; }
.city-points-z9[zoom=9][font_size=20] name { text-size: 20; }
.city-points-z10[zoom=10] name { text-size: 13; }
.city-points-z10[zoom=10][font_size=20] name { text-size: 20; }
.city-points-z11[zoom=11] name { text-size: 13; }
.city-points-z11[zoom=11][font_size=20] name { text-size: 20; }
.city-points-z12[zoom=12] name { text-size: 13; }
.city-points-z12[zoom=12][font_size=20] name { text-size: 20; }
/*
.city-labels-z8[zoom=8] name { text-size: 13; }
.city-labels-z8[zoom=8][population>=25000] name { text-size: 13; }
.city-labels-z8[zoom=8][population>=100000] name { text-size: 20; }
.city-labels-z8[zoom=8][population>=1000000] name { text-size: 20; }
.city-points-z9[zoom=9] name { text-size: 13; }
.city-points-z9[zoom=9][population>=25000] name { text-size: 13; }
.city-points-z9[zoom=9][population>=100000] name { text-size: 20; }
.city-points-z9[zoom=9][population>=1000000] name { text-size: 20; }
.city-points-z10[zoom=10] name { text-size: 13; }
.city-points-z10[zoom=10][population>=25000] name { text-size: 13; }
.city-points-z10[zoom=10][population>=100000] name { text-size: 20; }
.city-points-z10[zoom=10][population>=1000000] name { text-size: 20; }
.city-points-z11[zoom=11] name { text-size: 13; }
.city-points-z11[zoom=11][population>=25000] name { text-size: 13; }
.city-points-z11[zoom=11][population>=100000] name { text-size: 20; }
.city-points-z11[zoom=11][population>=1000000] name { text-size: 20; }
.city-points-z12[zoom=12] name { text-size: 13; }
.city-points-z12[zoom=12][population>=25000] name { text-size: 13; }
.city-points-z12[zoom=12][population>=100000] name { text-size: 20; }
.city-points-z12[zoom=12][population>=1000000] name { text-size: 20; }
*/
/*
If you wanted to use OSM labels instead...
Note: make sure that layer is 'on' in the MML
*/
/*
.osm-place-points[zoom=11][place=city] name
{
text-allow-overlap: false;
text-face-name: 'Arial Bold';
text-fill: #000;
text-halo-radius: 2;
text-halo-fill: #fff;
text-size: 20;
}
.osm-place-points[zoom=11][place=town] name
{
text-allow-overlap: false;
text-face-name: 'Arial Bold';
text-fill: #000;
text-halo-radius: 2;
text-halo-fill: #fff;
text-size: 13;
}
*/
/*
Park labels
*/
/* */
/* REFERNCE THE POLYS being filtered */
/*
.green-areas[zoom=10][area>5000000],
.green-areas[zoom=11][area>1000000],
.green-areas[zoom=12][area> 500000],
.green-areas[zoom=12][area> 200000],
.green-areas[zoom=13][area> 75000],
.green-areas[zoom=14][area> 10000],
.green-areas[zoom>14]
{
*/
.water-bodies-labels[zoom=9][area>100000000][kind=lake] name,
.water-bodies-labels[zoom=10][area>100000000][kind=lake] name,
.water-bodies-labels[zoom=11][area>25000000] name
{
text-face-name: 'Arial Unicode MS Italic';
text-size: 12;
text-placement: point;
text-max-char-angle-delta: 30;
text-halo-radius: 2;
text-spacing: 200;
text-allow-overlap: false;
text-wrap-width: 50;
}
.water-bodies-labels[zoom=12][area>5000000][kind=lake] name,
#green-areas-labels[zoom=12][area>5000000] name
{
text-face-name: 'Arial Unicode MS Italic';
text-size: 12;
text-placement: point;
text-max-char-angle-delta: 30;
text-halo-radius: 2;
text-spacing: 200;
text-allow-overlap: false;
text-wrap-width: 70;
}
.water-bodies-labels[zoom=13][area>2000000][kind=lake] name,
#green-areas-labels[zoom=13][area>2000000] name
{
text-face-name: 'Arial Unicode MS Italic';
text-size: 12;
text-placement: point;
text-max-char-angle-delta: 30;
text-halo-radius: 2;
text-spacing: 100;
text-allow-overlap: false;
text-wrap-width: 70;
}
.water-bodies-labels[zoom=14][area>200000] name,
#green-areas-labels[zoom=14][area>200000] name
{
text-face-name: 'Arial Unicode MS Italic';
text-size: 12;
text-placement: point;
text-max-char-angle-delta: 30;
text-halo-radius: 2;
text-spacing: 100;
text-allow-overlap: false;
text-wrap-width: 70;
}
.water-bodies-labels[zoom=15][area>50000] name,
#green-areas-labels[zoom=15][area>50000] name
{
text-face-name: 'Arial Unicode MS Italic';
text-size: 12;
text-placement: point;
text-max-char-angle-delta: 30;
text-halo-radius: 2;
text-spacing: 100;
text-allow-overlap: false;
text-wrap-width: 30;
}
.water-bodies-labels[zoom=16][area>10000] name,
.water-bodies-labels[zoom>=17] name,
#green-areas-labels[zoom=16][area>10000] name,
#green-areas-labels[zoom>=17] name
{
text-face-name: 'Arial Unicode MS Italic';
text-size: 13;
text-placement: point;
text-max-char-angle-delta: 30;
text-wrap-width: 40;
text-halo-radius: 2;
text-spacing: 100;
text-allow-overlap: false;
text-wrap-width: 40;
}
.water-bodies-labels[zoom>=9] name
{
text-fill: #fff;
text-halo-fill: #000;
text-size: 13 !important;
}
.water-bodies-labels[zoom>=16] name
{
text-size: 14 !important;
}
#green-areas-labels[zoom>=12] name
{
text-fill: #000;
text-halo-fill: #fff;
}
/*
Road labels
*/
#major-road-labels[zoom>=12] name
{
text-face-name: 'Arial Unicode MS Bold';
text-placement: line;
text-max-char-angle-delta: 30;
text-fill: #000;
text-halo-radius: 1;
text-halo-fill: #fff;
text-spacing: 100;
}
#major-road-labels[highway=trunk][zoom>=14] name
{
text-face-name: 'Arial Unicode MS Bold';
text-placement: line;
text-max-char-angle-delta: 30;
text-fill: #000;
text-halo-radius: 1;
text-halo-fill: #fff;
text-spacing: 100;
}
#major-road-labels[highway=primary][zoom>=14] name
{
text-face-name: 'Arial Unicode MS Bold';
text-placement: line;
text-max-char-angle-delta: 30;
text-fill: #000;
text-halo-radius: 1;
text-halo-fill: #fff;
text-spacing: 100;
}
#major-road-labels[highway=primary][zoom>=16] name
{
text-halo-radius: 2;
}
#major-road-labels[zoom=16] name
{
text-fill: #000;
text-halo-fill: #fff;
}
#major-road-labels[is_tunnel=yes][zoom>=15] name
{
text-fill: #777;
text-halo-fill: #fff;
}
#minor-road-labels[zoom>=16] name
{
text-face-name: 'Arial Unicode MS Bold';
text-placement: line;
text-max-char-angle-delta: 30;
text-fill: #000;
text-halo-radius: 1;
text-halo-fill: #fff;
text-spacing: 100;
}
#major-road-labels[zoom=12] name { text-dy: 7; }
#major-road-labels[highway=trunk][zoom=12] name { text-size: 12; }
#major-road-labels[highway=primary][zoom=12] name { text-size: 12; }
#major-road-labels[zoom=13] name { text-dy: 8; }
#major-road-labels[highway=trunk][zoom=13] name { text-size: 13; }
#major-road-labels[highway=primary][zoom=13] name { text-size: 13; }
#major-road-labels[highway=trunk][zoom=14] name { text-dy: 9; text-size: 14; }
#major-road-labels[highway=primary][zoom=14] name { text-dy: 9; text-size: 14; }
#major-road-labels[highway=secondary][zoom=14] name { text-dy: 7; text-size: 12; }
#major-road-labels[highway=trunk][zoom=15] name { text-dy: 12; text-size: 15; }
#major-road-labels[highway=primary][zoom=15] name { text-dy: 12; text-size: 15; }
#major-road-labels[highway=secondary][zoom=15] name { text-dy: 11; text-size: 13; }
#major-road-labels[highway=tertiary][zoom=15] name { text-dy: 11; text-size: 13; }
#major-road-labels[highway=trunk][zoom=16] name { text-dy: 13; text-size: 14; }
#major-road-labels[highway=primary][zoom=16] name { text-dy: 13; text-size: 14; }
#major-road-labels[highway=secondary][zoom=16] name { text-dy: 13; text-spacing: 124; text-size: 13; text-halo-radius: 2; }
#major-road-labels[highway=tertiary][zoom=16] name { text-dy: 13; text-spacing: 124; text-size: 13; text-halo-radius: 2; }
#minor-road-labels[zoom=16] name { text-dy: 10; text-spacing: 124; text-size: 10; text-halo-radius: 2; }
#major-road-labels[highway=trunk][zoom=17] name { text-dy: 16; text-size: 16; }
#major-road-labels[highway=primary][zoom=17] name { text-dy: 14; text-size: 14; }
#major-road-labels[highway=secondary][zoom=17] name { text-dy: 14; text-spacing: 180; text-size: 14; text-halo-radius: 2; }
#major-road-labels[highway=tertiary][zoom=17] name { text-dy: 13; text-spacing: 180; text-size: 12; text-halo-radius: 2; }
#minor-road-labels[zoom=17] name { text-dy: 13; text-spacing: 180; text-size: 12; text-halo-radius: 2; }
#major-road-labels[highway=trunk][zoom>=18] name { text-size: 16; }
#major-road-labels[highway=primary][zoom>=18] name { text-size: 14; }
#major-road-labels[highway=secondary][zoom>=18] name { text-size: 14; text-spacing: 300; text-halo-radius: 2; }
#major-road-labels[highway=tertiary][zoom>=18] name { text-size: 12; text-spacing: 400; text-halo-radius: 2; }
#minor-road-labels[zoom>=18] name { text-size: 12; text-spacing: 400; text-halo-radius: 2; }
/*
Subway stations and icons
*/
#poi-stations[zoom>=18][railway=station] name
{
text-face-name: 'Arial Bold';
text-size: 12;
text-placement: point;
text-max-char-angle-delta: 30;
text-fill: #4581C3;
text-halo-radius: 1;
text-halo-fill: #fff;
text-spacing: 100;
text-allow-overlap: true;
text-wrap-width: 30;
text-dx: 0;
text-dy: 8;
}
#poi-station-labels[zoom=17][railway=station] {
point-file: url('icons/subway_sm.png');
}
#poi-station-labels[zoom>=18][railway=station] {
point-file: url('icons/subway.png');
}
/*
.airports[zoom=2][natlscale>148],
.airports[zoom=3][natlscale>74],
.airports[zoom=4][natlscale>37],
.airports[zoom=5][natlscale>18],
.airports[zoom=6][natlscale>9.2],
.airports[zoom=7][natlscale>4.6],
.airports[zoom=8][natlscale>2.3],
.airports[zoom=9][natlscale>1.2],
*/
.airports[zoom=10][natlscale>.57],
.airports[zoom=11][natlscale>.29],
/*
.airports[zoom=12][natlscale>.14],
.airports[zoom=13][natlscale>.07]
*/
.airports[zoom=12][natlscale>.29],
.airports[zoom=13][natlscale>.29]
{
point-file: url('icons/airplane-19-reverse.png');
}
/*
.airports[zoom=14][natlscale>.04],
.airports[zoom=15][natlscale>.02],
.airports[zoom>=16][natlscale>.01],
.airports[zoom=14][natlscale>.29],
.airports[zoom=15][natlscale>.29],
.airports[zoom>=16][natlscale>.29]
{
point-file: url('icons/airplane-35-reverse.png');
}
*/
/*
.airports[zoom=2][natlscale>148] label_sm,
.airports[zoom=3][natlscale>74] label_sm,
.airports[zoom=4][natlscale>37] label_sm,
.airports[zoom=5][natlscale>18] label_sm,
.airports[zoom=6][natlscale>9.2] label_sm,
.airports[zoom=7][natlscale>4.6] label_sm,
.airports[zoom=8][natlscale>2.3] label_sm,
.airports[zoom=9][natlscale>1.2] label_sm,
.airports[zoom=10][natlscale>.57] label_sm,
*/
/*
.airports[zoom=11][natlscale>.29] label_sm,
.airports[zoom=12][natlscale>.29] label_sm,
*/
/*
.airports[zoom=12][natlscale>.14] label_sm,
.airports[zoom=13][natlscale>.07] label_lng,
.airports[zoom=14][natlscale>.04] label_lng,
.airports[zoom=15][natlscale>.02] label_lng,
.airports[zoom>=16][natlscale>.01] label_lng
*/
.airports[zoom=13][natlscale>.29] label_lng,
.airports[zoom=14][natlscale>.29] label_lng,
.airports[zoom=15][natlscale>.29] label_lng,
.airports[zoom>=16][natlscale>.29] label_lng
{
text-face-name: 'Arial Unicode MS Italic';
text-fill: #000;
text-size: 14;
text-halo-fill: #fff;
text-halo-radius: 2;
text-wrap-width: 128;
text-dy: 14;
text-allow-overlap: true;
}
.airports[zoom=14][natlscale>.29] label_lng,
.airports[zoom=15][natlscale>.29] label_lng,
.airports[zoom>=16][natlscale>.29] label_lng
{
text-dy: 0;
}