'use strict'; const canvassed = require("canvassed"); const defaultValue = require("default-value"); module.exports = function setTextStyles(context, options) { canvassed.requireProperties(options, ["fontFamily", "fontSize"]); let fontSegments = [ options.fontStyle, options.fontVariant, options.fontWeight, `${options.fontSize}px`, // FIXME: Other units? `'${options.fontFamily}'` // FIXME: Escaping of font family names containing a ' ]; context.font = fontSegments.filter(segment => (segment != null)).join(" "); context.textBaseline = defaultValue(options.textBaseline, "alphabetic"); context.strokeStyle = options.strokeColor; context.fillStyle = options.fillColor; }