forked from gravitystorm/openstreetmap-carto
-
Notifications
You must be signed in to change notification settings - Fork 0
/
style.mss
279 lines (251 loc) · 12 KB
/
style.mss
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
Map {
background-color: @water-color;
}
/*
About fonts:
Noto is a font family that wants to cover most of Unicode with a harmonic
design across various scripts. We use Noto for most text, with some support
for backward-compatibility and Unifont as fallback.
By order:
1. Noto Sans is available for most scripts and it is used as a first choice.
Where available the UI version of the fonts is used. In some cases the UI version
has fewer glyphs, so both are listed. Most of the list is in alphabetical order,
but there are some exceptions
- Noto Sans UI is before all other fonts
- The CJK fonts are manually ordered. The used CJK font covers all CJK
languages, but defaults to the japanese glyph style if various glyph
styles are available. (We have to default to one of JP, KR, SC, TC because
this carto style has no knowledge about what language the “names” tag
contains. As in Korea Han characters are not so widely used, it seems
better to default to either Chinese or Japanese. As Chinese exists in the
two variants SC/TC, it won’t be a uniform rendering anyway. So we default
to Japanese. However, this choise stays somewhat arbitrary and subjective.
See also https://github.com/gravitystorm/openstreetmap-carto/issues/2208)
2. Noto provides three variants of Arabic: Noto Kufi Arabic, Noto Naskh Arabic
and Noto Nastaliq Urdu. Naskh is the most commonly used style of Arabic.
Furthermore, Noto Naskh is the Arabic font of the Noto family with the greatest
coverage and the only one that has an UI variant. Therefor this style uses
Noto Naskh Arabic UI. The Arabic fonts are placed behind Sans fonts because
they might re-define some commonly used signs like parenthesis or quotation
marks, and the arabic design should not overwrite the standard design.
3. Noto provides two variants of Emoji: Noto Color Emoji and Noto Emoji. The
colour variant is a SVG flavoured OpenType font that contains coloured emojis.
This is not useful in cartography, so we use the “normal” monochromatic
Noto Emoji.
4. The list still includes DejaVu for compatibility on systems without Noto.
5. Unifont. This is a fallback of last resort with excellent coverage.
Unifont Medium covers the whole Unicode BMP without surrogates and without PUA.
Unifont Upper Medium covers some parts of the other Unicode planes. Unifont
Medium Sample would cover the BMP PUA with replacement characters, but cannot
be used because Mapnik does not support SBIT TTF.
*/
/*
A regular style.
*/
@book-fonts: "Noto Sans UI Regular",
"Noto Sans CJK JP Regular",
"Noto Sans Armenian Regular",
"Noto Sans Balinese Regular",
"Noto Sans Bamum Regular",
"Noto Sans Batak Regular",
"Noto Sans Bengali UI Regular",
"Noto Sans Buginese Regular",
"Noto Sans Buhid Regular",
"Noto Sans Canadian Aboriginal Regular",
"Noto Sans Cham Regular",
"Noto Sans Cherokee Regular",
"Noto Sans Coptic Regular",
"Noto Sans Devanagari UI Regular", "Noto Sans Devanagari Regular",
"Noto Sans Ethiopic Regular",
"Noto Sans Georgian Regular",
"Noto Sans Gujarati UI Regular", "Noto Sans Gujarati Regular",
"Noto Sans Gurmukhi UI Regular",
"Noto Sans Hanunoo Regular",
"Noto Sans Hebrew Regular",
"Noto Sans Javanese Regular",
"Noto Sans Kannada UI Regular",
"Noto Sans Kayah Li Regular",
"Noto Sans Khmer UI Regular",
"Noto Sans Lao UI Regular",
"Noto Sans Lepcha Regular",
"Noto Sans Limbu Regular",
"Noto Sans Lisu Regular",
"Noto Sans Malayalam UI Regular",
"Noto Sans Mandaic Regular",
"Noto Sans Mongolian Regular",
"Noto Sans Myanmar UI Regular",
"Noto Sans New Tai Lue Regular",
"Noto Sans NKo Regular",
"Noto Sans Ol Chiki Regular",
"Noto Sans Oriya UI Regular", "Noto Sans Oriya Regular",
"Noto Sans Osmanya Regular",
"Noto Sans Samaritan Regular",
"Noto Sans Saurashtra Regular",
"Noto Sans Shavian Regular",
"Noto Sans Sinhala Regular",
"Noto Sans Sundanese Regular",
"Noto Sans Symbols Regular",
"Noto Sans Syriac Eastern Regular",
"Noto Sans Syriac Estrangela Regular",
"Noto Sans Syriac Western Regular",
"Noto Sans Tagalog Regular",
"Noto Sans Tagbanwa Regular",
"Noto Sans Tai Le Regular",
"Noto Sans Tai Tham Regular",
"Noto Sans Tai Viet Regular",
"Noto Sans Tamil UI Regular",
"Noto Sans Telugu UI Regular",
"Noto Sans Thaana Regular",
"Noto Sans Thai UI Regular",
"Noto Sans Tibetan Regular",
"Noto Sans Tifinagh Regular",
"Noto Sans Vai Regular",
"Noto Sans Yi Regular",
"Noto Naskh Arabic UI Regular",
"Noto Emoji Regular",
"DejaVu Sans Book",
"Unifont Medium", "unifont Medium", "Unifont Upper Medium";
/*
A bold style is available for almost all scripts. Bold text is heavier than
regular text and can be used for emphasis. Fallback is a regular style.
*/
@bold-fonts: "Noto Sans UI Bold",
"Noto Sans CJK JP Bold",
"Noto Sans Armenian Bold",
"Noto Sans Bengali UI Bold",
"Noto Sans Cham Bold",
"Noto Sans Devanagari UI Bold", "Noto Sans Devanagari Bold",
"Noto Sans Ethiopic Bold",
"Noto Sans Georgian Bold",
"Noto Sans Gujarati UI Bold", "Noto Sans Gujarati Bold",
"Noto Sans Gurmukhi UI Bold",
"Noto Sans Hebrew Bold",
"Noto Sans Kannada UI Bold",
"Noto Sans Khmer UI Bold",
"Noto Sans Lao UI Bold",
"Noto Sans Malayalam UI Bold",
"Noto Sans Myanmar UI Bold",
"Noto Sans Oriya UI Bold", "Noto Sans Oriya Bold",
"Noto Sans Sinhala Bold",
"Noto Sans Tamil UI Bold",
"Noto Sans Telugu UI Bold",
"Noto Sans Thaana Bold",
"Noto Sans Thai UI Bold",
"Noto Sans Tibetan Bold",
"Noto Sans CJK JP Regular",
"Noto Sans Balinese Regular",
"Noto Sans Bamum Regular",
"Noto Sans Batak Regular",
"Noto Sans Buginese Regular",
"Noto Sans Buhid Regular",
"Noto Sans Canadian Aboriginal Regular",
"Noto Sans Cherokee Regular",
"Noto Sans Coptic Regular",
"Noto Sans Devanagari UI Regular", "Noto Sans Devanagari Regular",
"Noto Sans Georgian Regular",
"Noto Sans Gujarati UI Regular", "Noto Sans Gujarati Regular",
"Noto Sans Hanunoo Regular",
"Noto Sans Javanese Regular",
"Noto Sans Kayah Li Regular",
"Noto Sans Lepcha Regular",
"Noto Sans Limbu Regular",
"Noto Sans Lisu Regular",
"Noto Sans Mandaic Regular",
"Noto Sans Mongolian Regular",
"Noto Sans New Tai Lue Regular",
"Noto Sans NKo Regular",
"Noto Sans Ol Chiki Regular",
"Noto Sans Osmanya Regular",
"Noto Sans Samaritan Regular",
"Noto Sans Saurashtra Regular",
"Noto Sans Shavian Regular",
"Noto Sans Sundanese Regular",
"Noto Sans Symbols Regular",
"Noto Sans Syriac Eastern Regular",
"Noto Sans Syriac Estrangela Regular",
"Noto Sans Syriac Western Regular",
"Noto Sans Tagalog Regular",
"Noto Sans Tagbanwa Regular",
"Noto Sans Tai Le Regular",
"Noto Sans Tai Tham Regular",
"Noto Sans Tai Viet Regular",
"Noto Sans Tifinagh Regular",
"Noto Sans Vai Regular",
"Noto Sans Yi Regular",
"Noto Naskh Arabic UI Bold",
"Noto Naskh Arabic UI Regular",
"Noto Emoji Regular",
"DejaVu Sans Bold", "DejaVu Sans Book",
"Unifont Medium", "unifont Medium", "Unifont Upper Medium";
/*
Italics are only available for the base font, not the other scripts.
For a considerable number of labels this style will make no difference to the regular style.
*/
@oblique-fonts: "Noto Sans UI Italic",
"Noto Sans UI Regular",
"Noto Sans CJK JP Regular",
"Noto Sans Armenian Regular",
"Noto Sans Balinese Regular",
"Noto Sans Bamum Regular",
"Noto Sans Batak Regular",
"Noto Sans Bengali UI Regular",
"Noto Sans Buginese Regular",
"Noto Sans Buhid Regular",
"Noto Sans Canadian Aboriginal Regular",
"Noto Sans Cham Regular",
"Noto Sans Cherokee Regular",
"Noto Sans Coptic Regular",
"Noto Sans Devanagari UI Regular", "Noto Sans Devanagari Regular",
"Noto Sans Ethiopic Regular",
"Noto Sans Georgian Regular",
"Noto Sans Gujarati UI Regular", "Noto Sans Gujarati Regular",
"Noto Sans Gurmukhi UI Regular",
"Noto Sans Hanunoo Regular",
"Noto Sans Hebrew Regular",
"Noto Sans Javanese Regular",
"Noto Sans Kannada UI Regular",
"Noto Sans Kayah Li Regular",
"Noto Sans Khmer UI Regular",
"Noto Sans Lao UI Regular",
"Noto Sans Lepcha Regular",
"Noto Sans Limbu Regular",
"Noto Sans Lisu Regular",
"Noto Sans Malayalam UI Regular",
"Noto Sans Mandaic Regular",
"Noto Sans Mongolian Regular",
"Noto Sans Myanmar UI Regular",
"Noto Sans New Tai Lue Regular",
"Noto Sans NKo Regular",
"Noto Sans Ol Chiki Regular",
"Noto Sans Oriya UI Regular", "Noto Sans Oriya Regular",
"Noto Sans Osmanya Regular",
"Noto Sans Samaritan Regular",
"Noto Sans Saurashtra Regular",
"Noto Sans Shavian Regular",
"Noto Sans Sinhala Regular",
"Noto Sans Sundanese Regular",
"Noto Sans Symbols Regular",
"Noto Sans Syriac Eastern Regular",
"Noto Sans Syriac Estrangela Regular",
"Noto Sans Syriac Western Regular",
"Noto Sans Tagalog Regular",
"Noto Sans Tagbanwa Regular",
"Noto Sans Tai Le Regular",
"Noto Sans Tai Tham Regular",
"Noto Sans Tai Viet Regular",
"Noto Sans Tamil UI Regular",
"Noto Sans Telugu UI Regular",
"Noto Sans Thaana Regular",
"Noto Sans Thai UI Regular",
"Noto Sans Tibetan Regular",
"Noto Sans Tifinagh Regular",
"Noto Sans Vai Regular",
"Noto Sans Yi Regular",
"Noto Naskh Arabic UI Regular",
"Noto Emoji Regular",
"DejaVu Sans Oblique", "DejaVu Sans Book",
"Unifont Medium", "unifont Medium", "Unifont Upper Medium";
@water-color: #b5d0d0;
@land-color: #f2efe9;
@standard-halo-radius: 1;
@standard-halo-fill: rgba(255,255,255,0.6);