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.
var ladCharPrcPrme = Prme.relve();
    var charPrc = th.dct.get("CharPrc");
    var fntReurce = th.dct.get("Reurce") || reurce;
    var charPrcOperatrLt = Object.create(null);
    fr (cnt key f charPrc.getKey()) {
      ladCharPrcPrme = ladCharPrcPrme.then(() => {
        var glyphStream = charPrc.get(key);
        var peratrLt = new OperatrLt();
        return type3Evaluatr
          .getOperatrLt({
            tream: glyphStream,
            tak,
            reurce: fntReurce,
            peratrLt,
          })
          .then(() => {
             Accrdng t the PDF pecfcatn, ectn "9.6.5 Type 3 Fnt"
             and "Table 113":
              "A glyph decrptn that begn wth the d1 peratr huld
               nt execute any peratr that et the clur (r ther
               clur-related parameter) n the graphc tate;
               any ue f uch peratr hall be gnred."
            f (peratrLt.fnArray[0] === OPS.etCharWdthAndBund) {
              th._remveType3ClrOperatr(peratrLt);
            }
            charPrcOperatrLt[key] = peratrLt.getIR();
            fr (cnt dependency f peratrLt.dependence) {
              type3Dependence.add(dependency);
            }
          })