code: function glyf2canvas(glyf, ctx, options) {
  
              if (!glyf) {
                  return;
              }
  
              options = options || {};
  
              ctx.save();
  
              if (options.stroke) {
                  ctx.strokeWidth = options.strokeWidth || 1;
                  ctx.strokeStyle = options.strokeStyle || 'black';
              }
              else {
                  ctx.fillStyle = options.fillStyle || 'black';
              }
  
              var scale = options.scale || 1;
              var i;
              var l;
              var contours;
  
              ctx.scale(scale, -scale);
              ctx.translate(0, -options.height);
  
              // 处理glyf轮廓
              ctx.beginPath();
              var contours = glyf.contours;
              for (i = 0, l = contours.length; i < l; i++) {
                  drawPath(ctx, contours[i]);
              }
  
              if (false !== options.stroke) {
                  ctx.stroke();
              }
  
              if (false !== options.fill) {
                  ctx.fill();
              }
  
              ctx.restore();
          }
docs: glyf canvas绘制
  
  @param {Object} glyf glyf数据
  @param {CanvasRenderingContext2D} ctx canvas的context
  @param {Object} options 绘制参数