Как разместить веб-шрифты Google на моем собственном сервере? - PullRequest
260 голосов
/ 23 января 2012

Мне нужно использовать некоторые шрифты Google в интранет-приложении.Клиенты могут иметь или не иметь подключение к интернету.Читая условия лицензии, кажется, что это разрешено законом.

Ответы [ 16 ]

1 голос
/ 01 апреля 2016

Мое решение состояло в том, чтобы загрузить файлы TTF из веб-шрифтов Google и затем использовать onlinefontconverter.com .

1 голос
/ 25 февраля 2016

Вы можете загрузить все варианты форматов шрифтов непосредственно из Google и включить их в свой CSS для обслуживания с вашего сервера. Таким образом, вам не нужно беспокоиться о том, что Google отслеживает пользователей вашего сайта. Однако недостаток может замедлить вашу скорость подачи. Шрифты довольно требовательны к ресурсам. Я еще не проводил никаких тестов в этом выпуске и задаюсь вопросом, есть ли у кого-нибудь подобные мысли.

1 голос
/ 10 декабря 2015

Я использовал grunt-local-googlefont в задаче grunt.

module.exports = function(grunt) {

    grunt.initConfig({
       pkg: grunt.file.readJSON('package.json'),

        "local-googlefont" : {
            "opensans" : {
                "options" : {
                    "family" : "Open Sans",
                    "sizes" : [
                        300,
                        400,
                        600
                    ],
                    "userAgents" : [
                        "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)",  //download eot
                        "Mozilla/5.0 (Linux; U; Android 4.1.2; nl-nl; GT-I9300 Build/JZO54K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30", //download ttf
                        "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1944.0 Safari/537.36" //download woff and woff2
                    ],
                    "cssDestination" : "build/fonts/css",
                    "fontDestination" : "build/fonts",
                    "styleSheetExtension" : "css",
                    "fontDestinationCssPrefix" : "fonts"

                }
            }
        }
    });

    grunt.loadNpmTasks('grunt-local-googlefont');
 };

Затем, чтобы получить их:

grunt local-googlefont:opensans

Обратите внимание, яиспользуя вилку из оригинала, которая лучше работает при получении шрифтов с пробелами в их именах.

0 голосов
/ 27 июня 2018

Вы можете скачать исходные шрифты с https://github.com/google/fonts

После этого используйте инструмент font-ranger, чтобы разбить большой шрифт Unicode на несколько подмножеств (например, латинский, кириллический). Вы должны сделать следующее с инструментом:

  • Создание подмножеств для каждого языка, который вы поддерживаете
  • Использование поднабора диапазона Юникод для экономии полосы пропускания
  • Удалите раздувание со шрифтов и оптимизируйте их для веб
  • Конвертируйте ваши шрифты в сжатый формат woff2
  • Предоставляет запасной вариант .woff для старых браузеров
  • Настройка загрузки и рендеринга шрифтов
  • Создание файла CSS с правилами @ font-face
  • Самостоятельно размещать веб-шрифты или использовать их локально

Font-Ranger : https://www.npmjs.com/package/font-ranger

P.S. Вы также можете автоматизировать это с помощью Node.js API

0 голосов
/ 10 июля 2017

Существует очень простой сценарий, написанный на простом Java, для загрузки всех шрифтов по ссылке Google Web Font (поддерживается несколько шрифтов).Он также загружает файл CSS и адаптирует его к локальным файлам.Пользовательский агент может быть адаптирован для получения других файлов, кроме только WOFF2.См. https://github.com/ssc-hrep3/google-font-download

Полученные файлы можно легко добавить в процесс сборки (например, сборка из веб-пакета, например vue-webpack).

0 голосов
/ 06 октября 2016

В дополнение к k0pernicus Я хотел бы предложить лучше обслуживаемый местный .Это также скрипт bash (v4), позволяющий операторам веб-серверов загружать и обслуживать веб-шрифты Google со своего собственного веб-сервера.Но в дополнение к другому bash-скрипту, он позволяет пользователю полностью автоматизировать (через cron и т. Д.) Обслуживание современных файлов шрифтов и css-файлов.

...