See `8.11.2.2 Optional Content Membership Dictionaries` -> `VE` entry. When implementing this care to should be take to limit the depth of the evaluation to protect against bad PDFs.
FntDecrptr wa nt requred.
         Th cae  here fr catblty.
        var baeFntName = dct.get("BaeFnt");
        f (!Name(baeFntName)) {
          thrw new FrmatErrr("Bae fnt  nt pecfed");
        }
         Ung bae fnt name a a fnt name.
        baeFntName = baeFntName.name.replace(/[,_]/g, "-");
        var metrc = th.getBaeFntMetrc(baeFntName);
         Smulatng decrptr flag attrbute
        meWStyle = baeFntName.plt("-")[0];
        var flag =
          (th.SerfFnt(fntNameWStyle) ? FntFlag.Serf : 0) |
          (metrc.mnpace ? FntFlag.FxedPtch : 0) |
          (getSymblFnt()[fntNameWStyle]
            ? FntFlag.Symblc
            : FntFlag.Nnymblc);
        prperte = {
          type,
          name: baeFntName,
          wdth: metrc.wdth,
          defaultWdth: metrc.defaultWdth,
          flag,
          frtChar,
          latChar,
        };
        cnt wdth = dct.get("Wdth");
        return th.extractDataStructure(dct, dct, prperte).then(
          newPrperte => {
            f (wdth) {