Supprimer les caractères inutiles des polices

Cette tâche gulp supprime tous les caractères inutilisés des polices. Il analyse récursivement le répertoire de construction et injecte son contenu du texte dans fontmin. De plus, la tâche produit des fichiers woff2 à côté des types par défaut de eot, svg, ttf et woff. C'est une excellente routine de post-traitement pour garder vos actifs petits et pour vous débarrasser de la notification keep request counts low and transfer sizes small dans votre rapport lighthouse.

Exécution

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)
    })
})