getBasicOptions(pile) {
    const ret = {};

    // Scans the whole pile to get all options present
    for (let n = 0; n < pile.length; ++n) {
      let fontOptions = pile[n];

      // Convert shorthand if necessary
      const tmpShorthand = {};
      if (Label.parseFontString(tmpShorthand, fontOptions)) {
        fontOptions = tmpShorthand;
      }

      forEach(fontOptions, (opt, name) => {
        if (opt === undefined) return; // multi-font option need not be present
        if (Object.prototype.hasOwnProperty.call(ret, name)) return; // Keep first value we encounter

        if (multiFontStyle.indexOf(name) !== -1) {
          // Skip multi-font properties but we do need the structure
          ret[name] = {};
        } else {
          ret[name] = opt;
        }
      });
    }

    return ret;
  }
Collect all own-property values from the font pile that aren't multi-font option objectss.
@param {Pile} pile  pile of option objects to use
@returns {object} object with all current own basic font properties
@private