initFontOptions(newFontOptions) {
    // Prepare the multi-font option objects.
    // These will be filled in propagateFonts(), if required
    forEach(multiFontStyle, (style) => {
      this.fontOptions[style] = {};
    });

    // Handle shorthand option, if present
    if (Label.parseFontString(this.fontOptions, newFontOptions)) {
      this.fontOptions.vadjust = 0;
      return;
    }

    // Copy over the non-multifont options, if specified
    forEach(newFontOptions, (prop, n) => {
      if (prop !== undefined && prop !== null && typeof prop !== "object") {
        this.fontOptions[n] = prop;
      }
    });
  }
Init the font Options structure.

Member fontOptions serves as an accumulator for the current font options.
As such, it needs to be completely separated from the node options.
@param {object} newFontOptions the new font options to process
@private