Entfernung von unnötigen Zeichen aus Schriften

Dieser gulp Task entfernt alle nicht verwendeten Zeichen aus Schriftarten. Es durchsucht rekursiv das build Verzeichnis und fügt seinen Textinhalt in fontmin ein. Der Task erzeugt zusätzlich woff2 Dateien neben den Standardtypen eot, svg, ttf und woff. Es ist eine großartige Nachbearbeitungsroutine um Ihre Assets klein zu halten und die keep request counts low and transfer sizes small Benachrichtigung aus dem lighthouse Bericht zu entfernen.

Ausführung

gulp fontmin

Code

const fontmin = require('gulp-fontmin')
const ttf2woff2 = require('gulp-ttf2woff2')

function minifyFont(text, cb) {
  gulp
    .src('source/fonts/*.ttf')
    .pipe(
      fontmin({
        text: text
      })
    )
    .pipe(ttf2woff2({ clone: true }))
    .pipe(gulp.dest('build/fonts'))
    .on('end', cb)
}

gulp.task('fontmin', function (cb) {
  let buffers = []

  gulp
    .src('build/**/*.html')
    .on('data', function (file) {
      buffers.push(file.contents)
    })
    .on('end', function () {
      let text = Buffer.concat(buffers).toString('utf-8')
      minifyFont(text, cb)
    })
})