code: function parseCFFDict(reader, offset, length) {
              if (null != offset) {
                  reader.seek(offset);
              }
  
              var entries = [];
              var operands = [];
              var lastOffset = reader.offset + (null != length ? length : reader.length);
  
              while (reader.offset < lastOffset) {
                  var op = reader.readUint8();
  
                  // The first byte for each dict item distinguishes between operator (key) and operand (value).
                  // Values <= 21 are operators.
                  if (op <= 21) {
                      // Two-byte operators have an initial escape byte of 12.
                      if (op === 12) {
                          op = 1200 + reader.readUint8();
                      }
  
                      entries.push([op, operands]);
                      operands = [];
                  }
                  else {
                      // Since the operands (values) come before the operators (keys), we store all operands in a list
                      // until we encounter an operator.
                      operands.push(parseOperand(reader, op));
                  }
              }
  
              return entriesToObject(entries);
          }
docs: 解析cff dict字典
  
  @param  {Reader} reader 读取器
  @param  {number} offset  起始偏移
  @param  {number} length   大小
  @return {Object}        配置