code: function adjustToEmBox(glyfList, ascent, descent, ajdustToEmPadding) {
  
              glyfList.forEach(function (g) {
  
                  if (g.contours && g.contours.length) {
                      var rightSideBearing = g.advanceWidth - g.xMax;
                      var bound = computeBoundingBox.computePath.apply(null, g.contours);
                      var scale = (ascent - descent - ajdustToEmPadding) / bound.height;
                      var center = (ascent + descent) / 2;
                      var yOffset = center - (bound.y + bound.height / 2) * scale;
  
                      g.contours.forEach(function (contour) {
                          if (scale !== 1) {
                              pathAdjust(contour, scale, scale);
                          }
  
                          pathAdjust(contour, 1, 1, 0, yOffset);
                          pathCeil(contour);
                      });
  
                      var box = computeBoundingBox.computePathBox.apply(null, g.contours);
  
                      g.xMin = box.x;
                      g.xMax = box.x + box.width;
                      g.yMin = box.y;
                      g.yMax = box.y + box.height;
  
                      g.leftSideBearing = g.xMin;
                      g.advanceWidth = g.xMax + rightSideBearing;
  
                  }
  
              });
  
              return glyfList;
          }
docs: 缩放到EM框
  
  @param {Array} glyfList glyf列表
  @param {number} ascent 上升
  @param {number} descent 下降
  @param {number} ajdustToEmPadding  顶部和底部留白
  @return {Array} glyfList