-
Notifications
You must be signed in to change notification settings - Fork 1
/
fonts.mss
156 lines (140 loc) · 6.92 KB
/
fonts.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
/*
This file has been copied from OpenStreetMap-Carto.
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 some fallback fonts.
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. Fallback fonts. Hanazono covers almost all CJK characters, even in Unicode
Plane 2. Unifont is a fallback of last resort with full coverage in Plane 0
(Unifont Medium), some coverage in Plane 1 (Unifont Upper Medium) and no
coverage in Plane 2. 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",
"HanaMinA Regular", "HanaMinB Regular",
"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",
@book-fonts;
/*
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", @book-fonts;