Оптимизиция шрифтов с «Гугл фонт АПИ»

Благодаря Мицголу невозбранно узнал о существовании у «Гугл фонт АПИ» параметра «text», где можно перечислить буквы, которые вы будете использовать в шрифте. Это сильно сокращает размер скачиваемого шрифта. Напоминаю, «Гугл фонт АПИ» — это специальное АПИ для браузеров, позволяющее использовать свободные шрифты из коллекции Гугла. Шрифты подготавливаются автоматически, в зависимости от того, что поддерживает браузер:

bolk@Bolk ~/Projects/Ttt/exp (master) $ wget -O - --user-agent='Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)' http://fonts.googleapis.com/css?family=Rock+Salt 2>&-
@font-face {
  font-family: 'Rock Salt';
  font-style: normal;
  font-weight: normal;
  src: url('http://themes.googleusercontent.com/static/fonts/rocksalt/v1/Q94aHXFHGip10K5uxi1jOPY6323mHUZFJMgTvxaG2iE.eot');
  src: local('Rock Salt'), local('RockSalt'), url('http://themes.googleusercontent.com/static/fonts/rocksalt/v1/Q94aHXFHGip10K5uxi1jOD8E0i7KZn-EPnyo3HZu7kw.woff') format('woff');
}

bolk@Bolk ~/Projects/Ttt/exp (master) $ wget -O - --user-agent='Opera/9.00 (Windows NT 5.1; U; en)' http://fonts.googleapis.com/css?family=Rock+Salt 2>&-
@font-face {
  font-family: 'Rock Salt';
  font-style: normal;
  font-weight: normal;
  src: local('Rock Salt'), local('RockSalt'), url('http://themes.googleusercontent.com/static/fonts/rocksalt/v1/Q94aHXFHGip10K5uxi1jOKCWcynf_cDxXwCLxiixG1c.ttf') format('truetype');
}

bolk@Bolk ~/Projects/Ttt/exp (master) $ wget -O - --user-agent='Mozilla/5.0 (X11; Linux i686; rv:6.0) Gecko/20100101 Firefox/6.0' http://fonts.googleapis.com/css?family=Rock+Salt 2>&-
@font-face {
  font-family: 'Rock Salt';
  font-style: normal;
  font-weight: normal;
  src: local('Rock Salt'), local('RockSalt'), url('http://themes.googleusercontent.com/static/fonts/rocksalt/v1/Q94aHXFHGip10K5uxi1jOD8E0i7KZn-EPnyo3HZu7kw.woff') format('woff');
}

Для примера. Пусть у меня выбранный шрифт используется в двух фразах: «NEWS» и «ABOUT US», тогда строка запроса для этих двух заголовков будет выглядеть следующим образом (повторяющиеся буквы опущены, «%20» — это пробел):

http://fonts.googleapis.com/css?family=Rock+Salt&text=%20NEWSABOUT

Если сравнить размер шрифта без указания используемых букв и с ними, то разница выйдет более чем существенная:

bolk@Bolk ~/Projects/Ttt/exp (master) $ wget -O- `wget -O- 'http://fonts.googleapis.com/css?family=Rock+Salt' 2>&- | awk -F' '/http/{print $6}'` 2>&- | wc -c
  125136
bolk@Bolk ~/Projects/Ttt/exp (master) $ wget -O- `wget -O- 'http://fonts.googleapis.com/css?family=Rock+Salt&text=%20NEWSABOUT' 2>&- | awk -F' '/http/{print $6}'` 2>&- | wc -c
    6801

Как видно, размер файла сократился более чем в 18 раз!

12 комментариев

TOEFL

Сегодня прошёл письменный тест TOEFL («Paper-based TOEFL Test»), набрал 463 балла, что соотвествует примерно 50 баллам TOEFL IBT. Это немного, но я почти не сталкиваюсь с бытовым английским в жизни (только с техническим), для меня это неплохо. Тест был упрощённый — без «speaking», а то, мне думается, результаты были сильно хуже.

Заметил две вещи: мне сложно определять ошибки в фразе, я привык отталкиваться от того, что фраза написана без ошибок, и мне тяжело воспринимать американскую речь, которая была в тесте. Речь на английском ведущего нашего теста я воспринимал естественно и не задумываясь. Возможно, конечно, что он специально выбирал выражения попроще, но думаю, что всё дело в том, что она была просто «чистой» — он не склеивал слова и не «жевал» окончания.

8 комментариев