Skip to content

Commit bf674e1

Browse files
committed
add supportedFonts, default to 'Open Sans Regular' if not found
1 parent b76c734 commit bf674e1

File tree

1 file changed

+39
-1
lines changed

1 file changed

+39
-1
lines changed

src/traces/scattermapbox/defaults.js

+39-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,44 @@ var handleTextDefaults = require('../scatter/text_defaults');
99
var handleFillColorDefaults = require('../scatter/fillcolor_defaults');
1010
var attributes = require('./attributes');
1111

12+
// Must use one of the following fonts as the family, else default to 'Open Sans Regular'
13+
// See https://github.com/openmaptiles/fonts/blob/gh-pages/fontstacks.json
14+
var supportedFonts = [
15+
'Metropolis Black Italic',
16+
'Metropolis Black',
17+
'Metropolis Bold Italic',
18+
'Metropolis Bold',
19+
'Metropolis Extra Bold Italic',
20+
'Metropolis Extra Bold',
21+
'Metropolis Extra Light Italic',
22+
'Metropolis Extra Light',
23+
'Metropolis Light Italic',
24+
'Metropolis Light',
25+
'Metropolis Medium Italic',
26+
'Metropolis Medium',
27+
'Metropolis Regular Italic',
28+
'Metropolis Regular',
29+
'Metropolis Semi Bold Italic',
30+
'Metropolis Semi Bold',
31+
'Metropolis Thin Italic',
32+
'Metropolis Thin',
33+
'Open Sans Bold Italic',
34+
'Open Sans Bold',
35+
'Open Sans Extra Bold Italic',
36+
'Open Sans Extra Bold',
37+
'Open Sans Italic',
38+
'Open Sans Light Italic',
39+
'Open Sans Light',
40+
'Open Sans Regular',
41+
'Open Sans Semibold Italic',
42+
'Open Sans Semibold',
43+
'Klokantech Noto Sans Bold',
44+
'Klokantech Noto Sans CJK Bold',
45+
'Klokantech Noto Sans CJK Regular',
46+
'Klokantech Noto Sans Italic',
47+
'Klokantech Noto Sans Regular'
48+
];
49+
1250
module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout) {
1351
function coerce(attr, dflt) {
1452
return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);
@@ -69,7 +107,7 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout
69107
handleTextDefaults(traceIn, traceOut, layout, coerce,
70108
{noSelect: true,
71109
font: {
72-
family: 'Open Sans Regular',
110+
family: supportedFonts.indexOf(layout.font.family) !== -1 ? layout.font.family : 'Open Sans Regular',
73111
size: layout.font.size,
74112
color: layout.font.color
75113
}

0 commit comments

Comments
 (0)