openmoji
Version:
Open source emojis for designers, developers and everyone else!
71 lines (59 loc) • 1.61 kB
JavaScript
#!/usr/bin/env node
'use strict';
// argv[2]: font file
// argv[3]: output folder
const path = require('path');
const fs = require('fs');
const CharacterSet = require('characterset');
const openmojis = require('../data/openmoji.json');
const emojis = openmojis.map(e => { return e.emoji });
const characterSet = new CharacterSet(emojis.join(''));
const css = `
/* Generated by helpers/generate-font-css.js */
@font-face {
font-family: "OpenMojiDemoFont";
src: url("${process.argv[2]}") format("woff2");
unicode-range: ${characterSet.toHexRangeString()};
}
`;
const html = `
<html>
<head>
<meta charset="utf-8">
<title>OpenMoji font test</title>
<link rel="stylesheet" type="text/css" href="openmoji.css">
<style>
body {
background: #fff;
margin: 0px;
padding: 0px;
font-family: sans-serif;
}
.openmoji-demo {
font-family: OpenMojiDemoFont, sans-serif;
}
#content {
padding: 10px;
}
textarea {
background: #f5f5f5;
padding: 0.2em;
font-size: 4em;
line-height: 1.35em;
width: 100%;
height: 5em;
}
</style>
</head>
<body>
<h1>OpenMoji font with configuration: <code>${process.argv[2]}</code></h1>
<div id="content">
<textarea class="openmoji-demo">ABC 👨💻 🥶 XYZ 💻 👨 🧟 Lorem  ipsum 💯
</textarea>
</div>
</body>
</html>
`
fs.writeFileSync(`${process.argv[3]}/openmoji.css`, css);
fs.writeFileSync(`${process.argv[3]}/demo.html`, html);