Lessons

An overabundance of monochrome icons

Glyph fonts like Font Awesome, Fontelico, Entypo, Typicons contain hundreds of monochrome icons. But the site interfaces use only a few dozen glyphs. By removing the extra glyphs, you will reduce the file size. This will speed up page loading. In the service [fontello.com ](https://fontello.com /) You can make your own set of icons of popular glyph fonts. Glyph font editing is also available in the service [icomoon.io ](https://icomoon.io/app /).

We recommend using more modern practices and transferring icons to a CSS file in the form of data URL images in SVG format. Uploading several tens of kilobytes in a CSS file with icons is faster than making an additional request for a separate file. And it’s easier for a programmer to edit the CSS file code than to use a special service to edit a set of glyph fonts.

Example code that uses fonts with monochrome icons and image data URL:

Demonstration
PHP code
<?php
// Получаем список глифов доступных в файле
$data = exec("fc-query --format='%{charset}\\n' fa-regular-400.woff2", $output);
$data = array_pop($output);
$data = explode(' ', $data);
$glyphs = [];
foreach($data as $range) {
    $range = explode('-', $range);
    $range[1] = hexdec($range[1] ?? $range[0]);
    $range[0] = hexdec($range[0]);
    for($i = $range[0]; $i <= $range[1]; $i++) {
        $glyphs[] = $i;
    }
}
?><!DOCTYPE html>
<html>
    <head>
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <style>
            @font-face {
                font-family: 'Roboto';
                src: url('./fa-regular-400.woff2') format('woff2');
                font-style: normal;
                font-weight: 400;
            }
            body {
                font-family: Roboto;
            }
            div {
                border: 1px solid #000;
                margin: 2px;
                padding: 3px;
                border-radius: 3px;
                display: inline-block;
                min-width: 20px;
                text-align: center;
            }
        </style>
    </head>
    <body>
        <h1>В шрифте Font Awesome fa-regular-400.woff2 <?=sizeof($glyphs)?> символов</h1>
        <?php foreach($glyphs as $glyph) { ?>
            <div>&#<?=$glyph?>;</div>
        <?php } ?>
    </body>
</html>

PRO subscription for working with the service

Promo
To prepare a commercial offer.
190 ₽
50 pages for 10 days
  • 1 page gives 1 tool launch Checking the page.
  • Purchased for a specific site
  • Restrictions on other tools remain the same
PRO subscription
For regular work on a site or a group of sites.
1 580 ₽
3,500 pages per week. The subscription period is 1 month.
Wallet
A separate page balance that complements the PRO subscription balance.
190 ₽
Number of pages
  • An active PRO subscription is required to use the wallet balance
We use cookies. By continuing to use the site, you agree to the processing of personal data in accordance with privacy policy. I agree