getFont = function getFont(fontName, fontStyle, options) {
    var key = undefined,
        fontNameLowerCase;
    options = options || {};
    fontName = fontName !== undefined ? fontName : fonts[activeFontKey].fontName;
    fontStyle = fontStyle !== undefined ? fontStyle : fonts[activeFontKey].fontStyle;
    fontNameLowerCase = fontName.toLowerCase();

    if (fontmap[fontNameLowerCase] !== undefined && fontmap[fontNameLowerCase][fontStyle] !== undefined) {
      key = fontmap[fontNameLowerCase][fontStyle];
    } else if (fontmap[fontName] !== undefined && fontmap[fontName][fontStyle] !== undefined) {
      key = fontmap[fontName][fontStyle];
    } else {
      if (options.disableWarning === false) {
        console.warn("Unable to look up font label for font '" + fontName + "', '" + fontStyle + "'. Refer to getFontList() for available fonts.");
      }
    }

    if (!key && !options.noFallback) {
      key = fontmap["times"][fontStyle];

      if (key == null) {
        key = fontmap["times"]["normal"];
      }
    }

    return key;
  }
Returns a document-specific font key - a label assigned to a
font name + font type combination at the time the font was added
to the font inventory.

Font key is used as label for the desired font for a block of text
to be added to the PDF document stream.
@private
@function
@param fontName {string} can be undefined on "falthy" to indicate "use current"
@param fontStyle {string} can be undefined on "falthy" to indicate "use current"
@returns {string} Font key.
@ignore