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(); }