Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
@akylas/fontmin
Advanced tools
Minify font seamlessly, font subsetter, webfont (eot, woff, svg) converter.
Minify font seamlessly
$ npm install --save fontmin
var Fontmin = require('fontmin');
var fontmin = new Fontmin()
.src('fonts/*.ttf')
.dest('build/fonts');
fontmin.run(function (err, files) {
if (err) {
throw err;
}
console.log(files[0]);
// => { contents: <Buffer 00 01 00 ...> }
});
You can use gulp-rename to rename your files:
var Fontmin = require('fontmin');
var rename = require('gulp-rename');
var fontmin = new Fontmin()
.src('fonts/big.ttf')
.use(rename('small.ttf'));
Creates a new Fontmin
instance.
Type: Array|Buffer|String
Set the files to be optimized. Takes a buffer, glob string or an array of glob strings as argument.
Type: String
Set the destination folder to where your files will be written. If you don't set any destination no files will be written.
Type: Function
Add a plugin
to the middleware stack.
Type: Function
Optimize your files with the given settings.
The callback will return an array of vinyl files in files
and a Readable/Writable
stream in stream
The following plugins are bundled with fontmin:
Compress ttf by glyph.
var Fontmin = require('fontmin');
var fontmin = new Fontmin()
.use(Fontmin.glyph({
text: '天地玄黄 宇宙洪荒',
hinting: false // keep ttf hint info (fpgm, prep, cvt). default = true
}));
Convert ttf to eot.
var Fontmin = require('fontmin');
var fontmin = new Fontmin()
.use(Fontmin.ttf2eot());
Convert ttf to woff.
var Fontmin = require('fontmin');
var fontmin = new Fontmin()
.use(Fontmin.ttf2woff({
deflate: true // deflate woff. default = false
}));
Convert ttf to svg.
you can use imagemin-svgo to compress svg:
var Fontmin = require('fontmin');
var svgo = require('imagemin-svgo');
var fontmin = new Fontmin()
.use(Fontmin.ttf2svg())
.use(svgo());
Generate css from ttf, often used to make iconfont.
var Fontmin = require('fontmin');
var fontmin = new Fontmin()
.use(Fontmin.css({
fontPath: './', // location of font file
base64: true, // inject base64 data:application/x-font-ttf; (gzip font with css).
// default = false
glyph: true, // generate class for each glyph. default = false
iconPrefix: 'my-icon', // class prefix, only work when glyph is `true`. default to "icon"
fontFamily: 'myfont', // custom fontFamily, default to filename or get from analysed ttf file
asFileName: false, // rewrite fontFamily as filename force. default = false
local: true // boolean to add local font. default = false
}));
Alternatively, a transform function can be passed as fontFamily
option.
var Fontmin = require('fontmin');
var fontmin = new Fontmin()
.use(Fontmin.css({
// ...
fontFamily: function(fontInfo, ttf) {
return "Transformed Font Family Name"
},
// ...
}));
Convert font format svg to ttf.
var Fontmin = require('fontmin');
var fontmin = new Fontmin()
.src('font.svg')
.use(Fontmin.svg2ttf());
Concat svg files to a ttf, just like css sprite.
awesome work with css plugin:
var Fontmin = require('fontmin');
var fontmin = new Fontmin()
.src('svgs/*.svg')
.use(Fontmin.svgs2ttf('font.ttf', {fontName: 'iconfont'}))
.use(Fontmin.css({
glyph: true
}));
Convert otf to ttf.
var Fontmin = require('fontmin');
var fontmin = new Fontmin()
.src('fonts/*.otf')
.use(Fontmin.otf2ttf());
$ npm install -g fontmin
$ fontmin --help
Usage
$ fontmin <file> [<output>]
$ fontmin <directory> [<output>]
$ fontmin <file> > <output>
$ cat <file> | fontmin > <output>
Example
$ fontmin fonts/* build
$ fontmin fonts build
$ fontmin foo.ttf > foo-optimized.ttf
$ cat foo.ttf | fontmin > foo-optimized.ttf
Options
-t, --text require glyphs by text
-b, --basic-text require glyphs with base chars
-d, --deflate-woff deflate woff
--font-family font-family for @font-face CSS
--css-glyph generate class for each glyf. default = false
-T, --show-time show time fontmin cost
you can use curl
to generate font for websites running on PHP, ASP, Rails and more:
$ text=`curl www.baidu.com` && fontmin -t "$text" font.ttf
or you can use html-to-text to make it smaller:
$ npm install -g html-to-text
$ text=`curl www.baidu.com | html-to-text` && fontmin -t "$text" font.ttf
what is more, you can use phantom-fetch-cli to generate font for SPA
running JS template:
$ npm install -g phantom-fetch-cli
$ text=`phantom-fetch http://www.chinaw3c.org` && fontmin -t "$text" font.ttf
MIT © fontmin
0.9.9 (2021-9-10)
FAQs
Minify font seamlessly, font subsetter, webfont (eot, woff, svg) converter.
The npm package @akylas/fontmin receives a total of 1 weekly downloads. As such, @akylas/fontmin popularity was classified as not popular.
We found that @akylas/fontmin demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.