@@ -9,6 +9,44 @@ var handleTextDefaults = require('../scatter/text_defaults');
99var handleFillColorDefaults = require ( '../scatter/fillcolor_defaults' ) ;
1010var 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+
1250module . 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