code: function (rule) {
          var base = this.base;
          var files = [];
          var style = rule.style;
          var that = this;
  
          var model = new CssParser
          .Model('CSSFontFaceRule')
          .mix({
              id: '',
              family: '',
              files: files,
              selectors: [],
              chars: [],
              options: {}
          });
  
          
          // 解析 font 相关属性
          Array.prototype.forEach.call(style, function (key) {
  
              if (key === 'font-family') {
  
                  model.family = utils.unquotation(style['font-family']);
  
              } else if (key === 'font') {
  
                  model.options = utils.fontValueParse(style.font) || {};
                  model.family = model.options['font-family'];
  
                  if (Array.isArray(model.family)) {
                      model.family = model.family[0];
                  }
  
                  delete model.options['font-family'];
  
              } else if (getFontId.keys.indexOf(key) !== -1) {
  
                  model.options[key] = style[key];
              } 
          });
  
  
  
          if (!model.family) {
              return;
          }
  
  
          model.id = getFontId(model.family, model.options);
  
          
          // 解析字体地址
          var src = utils.srcValueParse(style.src);
          var urls = [];
          src.forEach(function (file) {
              file = utils.resolve(base, file);
              file = that._getUrl(file);
              if (file) {
                  urls.push(file);
              }
          });
  
          files.push.apply(files, urls);
  
          return model;
      }
docs: webfont 规则 @see https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face