Nano Hash - криптовалюты, майнинг, программирование

Шрифты не отображаются равномерно в браузерах

Я пытаюсь использовать пользовательские шрифты на своем веб-сайте, и в css у меня есть следующий код:

@font-face {
    font-family: 'Sketch';
    src: url('../fonts/Sketch.eot');
    src: url('../fonts/Sketch.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}
ul#holder {font-family:'Sketch'}

Шрифты отображаются так, как они должны быть в Firefox. В хроме шрифт не выглядит плавно и выглядит не так хорошо, как в Firefox (Должен ли я отказаться от идеи использования шрифтов на моей боковой панели и использовать вместо этого изображения, которые отображали бы гладкий текст? ;-/)

В IE шрифты вообще не отображаются. Что нужно сделать, чтобы правильно сгладить эти шрифты в Chrome и заставить их работать в IE?

11.08.2012

  • Даже если вам удастся импортировать правильные форматы шрифтов для каждого браузера, вы никогда не получите одинаковый рендеринг везде, поэтому вам лучше привыкнуть к этому + у вас нет контроля над настройками шрифта пользователя. В любом случае это лучше, чем использование изображений для текста. 11.08.2012
  • если вы используете перезапись URL-адресов или шрифты, размещенные в другом домене солнца, введите полный URL-адрес шрифта и проверьте, разрешен ли междоменный доступ к *, My Reghards :) 11.08.2012

Ответы:


1

Разные браузеры поддерживают разные форматы шрифтов:

Форматы шрифтов

Итак, вам нужно создать свой шрифт во всех форматах. Вы можете использовать Font Squirrel (спасибо, effectica).

И затем вы можете импортировать их следующим образом:

@font-face {
    font-family: 'Comfortaa Regular';
    src: url('Comfortaa.eot');
    src: local('Comfortaa Regular'), 
         local('Comfortaa'), 
         url('Comfortaa.ttf') format('truetype'),
         url('Comfortaa.svg#font') format('svg'); 
}

Это не единственный возможный путь. Вы можете найти более полную информацию по этому вопросу в блоге Пола Айриша.

Да и вообще, их внешний вид может немного отличаться в разных браузерах.

11.08.2012
  • +1 в таблице совместимости. Тем не менее, я могу порекомендовать ознакомиться с статьей Пола Айриша о плюсах & минусы разного синтаксиса @font-face и максимально лаконичных опций. 11.08.2012
  • @EdwardRuchevits: Спасибо. Я использовал fontsquirrel для загрузки шрифта во всех форматах. Firefox и IE теперь работают нормально, но хром все еще выглядит отстойно и неровно. :-( 12.08.2012

  • 2

    Все основные браузеры имеют немного разные механизмы/методы рендеринга шрифтов, и они имеют разное качество вывода рендеринга. Таким образом, ваши шрифты вряд ли будут «идеальными по пикселям» в разных браузерах, и появятся некоторые различия в качестве. Какой из них выглядит лучше всего, зависит от шрифта. У меня есть глифовый шрифт, который отлично смотрится в Chrome и IE, но выглядит немного размытым в Firefox...

    В любом случае, есть небольшая хитрость, которая поможет вам заставить шрифты работать в IE, см. вторую строку src. Это необходимо, потому что, хотя добавление дополнительных форматов шрифтов обеспечивает поддержку каждого браузера, к сожалению, это вызывает проблемы в версиях IE до IE9. Эти старые браузеры видят все между первым URL-адресом ('и последним') как один запрос URL-адреса, поэтому не смогут загрузить шрифт. Этот хак заставляет браузер думать, что остальная часть свойства src является аргументами этой строки запроса, поэтому он ищет правильный URL-адрес и загружает шрифт:

    @font-face {
        font-family: 'Sketch';
        src: url('../fonts/SketchRockwell.eot');
        src: url('../fonts/SketchRockwell.eot?#iefix') format('embedded-opentype'),
             url('../fonts/SketchRockwell.woff') format('woff'),
             url('../fonts/SketchRockwell.ttf') format('truetype'),
             url('../fonts/SketchRockwell.svg#countersoftfontRegular') format('svg');
        font-weight: normal;
        font-style: normal;
    }
    

    Вышеприведенное взято из генератора @font-face Kit от Font Squirrel, доступ к которому можно получить по адресу http://www.fontsquirrel.com/fontface/generator. Там вы можете загрузить свой шрифт и преобразовать его в любой желаемый формат. Вы также можете управлять синтаксисом CSS, который он выводит, подмножать символы, чтобы уменьшить размер файла, и использовать дополнительные параметры для точной настройки шрифтов.

    Кроме того, если вы собираетесь использовать жирный шрифт или курсив в своем тексте, вам необходимо включить версию правила, которое соответственно изменяет толщину шрифта и стиль шрифта для каждой комбинации, чтобы браузер знал, какой шрифт использовать, когда он сталкивается с CSS. правило с жирным шрифтом в нем.

    Каждый шрифт обычно имеет определенную цель дизайна и был создан для конкретной работы. Большинство коммерческих шрифтов не предназначены для просмотра на экране небольшого размера, поэтому во многих случаях имеет смысл зарезервировать эти @font-face для заголовков и продолжать использовать веб-безопасные шрифты, такие как Georgia и Lucida, для основного текста.

    Другим аспектом шрифтов, который может повлиять на разборчивость, является то, как они сглаживаются и хинтуются. Прямо сейчас веб-шрифты, как правило, более неровные по краям, чем традиционные шрифты, даже при сглаживании, обычно потому, что большинство из них не предназначены для просмотра на экране. Шрифты более высокого качества, а также шрифты, разработанные для Интернета, имеют лучший хинтинг,

    11.08.2012
  • Спасибо. Я использовал fontsquirrel для загрузки шрифта во всех форматах. Firefox и IE теперь работают нормально, но хром все еще выглядит отстойно и неровно. :-( 12.08.2012
  • Вы можете попробовать взглянуть на надстройку сглаживания в магазине Chrome. Это может помочь вам, но, конечно, не поможет другим людям chrome.google. com/веб-магазин/detail/ 12.08.2012

  • 3

    Вот отличный URL-адрес для создания встраиваемых пакетов шрифтов:

    http://fontface.codeandmore.com/

    Загрузите свой шрифт TTF или OTF, и он создаст для вас полный набор шрифтов с примерами реализации HTML и CSS.

    Ваше здоровье!

    11.08.2012
  • Если вы собираетесь использовать пакет шрифтов, я бы рекомендовал Font Squirrel, поскольку у вас есть много контроля над комплектом. Они также предлагают много готовых 11.08.2012
  • Font Squirrel хорош, но есть ряд шрифтов, для которых они не будут создавать наборы (я сталкивался с этим со шрифтами семейства Helvetica и т. д.). Ссылка @codeandmore.com меня еще не подводила. 11.08.2012

  • 4

    Эдвард все сказал. Раньше Chrome сводил меня с ума из-за того, как он отображал определенные шрифты.

    Если у вас есть файл шрифта, вы можете использовать font squirrel для создания кода, а также всех файлов шрифтов. что вам нужно для всех браузеров.

    11.08.2012
  • Спасибо. Я использовал fontsquirrel для загрузки шрифта во всех форматах. Firefox и IE теперь работают нормально, но хром все еще выглядит отстойно и неровно. :-( 12.08.2012
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..