23 lines
699 B
JavaScript
23 lines
699 B
JavaScript
import FontFaceObserver from 'fontfaceobserver';
|
|
import { setCharWidth } from 'state/app';
|
|
import { stringWidth } from 'utils';
|
|
|
|
export default function fonts({ store }) {
|
|
let { charWidth } = localStorage;
|
|
if (charWidth) {
|
|
store.dispatch(setCharWidth(parseFloat(charWidth)));
|
|
}
|
|
|
|
new FontFaceObserver('Roboto Mono').load().then(() => {
|
|
if (!charWidth) {
|
|
charWidth = stringWidth(' ', '16px Roboto Mono');
|
|
store.dispatch(setCharWidth(charWidth));
|
|
localStorage.charWidth = charWidth;
|
|
}
|
|
});
|
|
|
|
new FontFaceObserver('Montserrat').load();
|
|
new FontFaceObserver('Montserrat', { weight: 700 }).load();
|
|
new FontFaceObserver('Roboto Mono', { weight: 700 }).load();
|
|
}
|