Згладжування та згладжування Webfont у Firefox та Opera


112

У мене на веб-сайті використовуються веб-шрифти на замовлення. Для стильового виводу візуалізації я використав такий код:

//-webkit-text-stroke-width: .05px;
//-webkit-text-stroke-color: white;
-webkit-font-smoothing: antialiased;

Це добре працює на Safari та Chrome (краї чіткіші, а лінії тонші). Чи є спосіб реалізувати один і той же стиль на Firefox і Opera?


5
Було б непогано зупинити це і прочитати, чому тут: usabilitypost.com/2012/11/05/stop-fixing-font-smoothing
fregante

20
^ це широке узагальнення, і добре використовувати згладжування шрифту. Саме проблема візуалізації - це проблема, а не поведінка дизайнера. Коли ви розробляєте макет, і шрифт видається напівжирним через двигуна візуалізації, тоді це потрібний фіксований двигун, а не макет.
Ділан

1
Це не зовсім широке узагальнення. У статті йдеться про те, що субпіксельна візуалізація була в основному призначена для того, щоб зробити світлий текст на темному тлі більш зрозумілим (тобто доступним), а також зробити широке визначення CSS, як body { -webkit-font-smoothing: antialiased; }занадто важким.
Метт Шеріх,

3
Мої веб-шрифти, темні на світлому тлі, також стають «підробленими». Я кажу "антиаліазію" навколо.
Jason T Featheringham

5
Те, як відображається сторінка, залежить від дизайнера, включаючи всі друкарські атрибути. Це їхня відповідальність за забезпечення зручності, послідовності та привабливості на найширшому спектрі платформ. Доступ до атрибутів згладжування шрифту за допомогою CSS забезпечує більш високий контроль. Як і будь-що, його можна неправильно використати в чужих руках. Але розміщення особистої філософії, а не відповідь на питання, не корисне.
Beejor

Відповіді:


193

Оскільки Opera працює від Blink, оскільки версія 15.0 -webkit-font-smoothing: antialiasedтакож працює в Opera.

Нарешті Firefox додав властивість, щоб увімкнути відтінки сірого. Після тривалого обговорення він буде доступний у Версії 25 з іншим синтаксисом, який вказує, що ця властивість працює лише в OS X.

-moz-osx-font-smoothing: grayscale;

Це має зафіксувати розмиті шрифти значків або світлий текст на темному тлі.

.font-smoothing {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

Ви можете прочитати мій пост про візуалізацію шрифту на OSX, який включає Sass mixin для обробки обох властивостей.


6
Чому тільки OSX ??
Ясір Енназк

7
Windows та Linux використовують різні алгоритми візуалізації для шрифтів, ніж OSX.
Максиміліан Гофман

15

Ну, Firefox не підтримує щось подібне.

На сторінці посилань від Mozilla вказується, font-smoothяк властивість CSS контролює застосування антизбудження, коли шрифти надаються, але це властивість було видалено з цієї специфікації і наразі не знаходиться у стандартній доріжці.

Ця властивість підтримується лише у веб-переглядачах Webkit.

Якщо ви хочете альтернативи, ви можете перевірити це:


2
Ну, проблема в тому, що мої шрифти виглядають "жирними" та роздутими у firefox та opera. Завдяки цьому -webkit-font-smoothing:antialiased;я міг виправити це в Safari та Chrome. Я хотів би знайти будь-який "хак", щоб зробити мої шрифти трохи світлішими у Firefox. Я думав застосувати білий text-shadowколір лише в мозі, але немає можливості застосувати "вставну" текстову тінь, яка зробила б шрифт світлішим.
матовий

1
@matt Ви можете спробувати деякі поради CSS у цьому питанні: stackoverflow.com/questions/761778/… Можливо, ви знайдете альтернативу CSS.
Джонатан Нагуїн

11

Випадок: Світлий текст із шорстким веб-шрифтом на темному тлі Firefox (v35) /
Приклад Windows : Веб-шрифт Google Ruda

Дивне рішення -
додавання наступних властивостей до застосованих селекторів:

selector {
    text-shadow: 0 0 0;
}

Насправді результат такий самий, як і у нас text-shadow: 0 0;, але мені подобається чітко встановлювати радіус розмиття.

Це не універсальне рішення, але може допомогти в деяких випадках. Більше того, до цього часу я не відчував (також не ретельно перевірений) негативних наслідків щодо ефективності цього рішення.


Нічого не допомагає
vsync

це спричинить сміливіші шрифти на хромі на основі шрифту
Ben Sewards

1
@BenSewards Ви б надали шрифт, де ви зіткнулися з отримання більш сміливого візуалізації шрифту? А може, навіть CodePen? Заздалегідь спасибі.
Волкер Е.

1
@VolkerE. дякую за чудове рішення. У мене така ж дратівлива проблема з шрифтом Source Code Pro в липкому заголовку. Коли я прокручую, шрифт стає дуже малим, а з вашою текстовою тінню шрифт не створює жодних проблем.
Еволюціо

На поточний хром (58.0.3029.110) текст «згладжувати» на насправді виглядає дійсно жахливо. (текст "тупий" дещо кращий)
РекурсивнеExceptionException

7

Після запуску проблеми я виявив, що мій файл WOFF зроблено не належним чином, я надіслав новий FoxSquirrel новий TTF, який дав мені належний WOFF, який був гладким у Firefox, не додаючи до нього зайвих CSS.


це у вікнах?
Виньєш

5

Я знайшов рішення за цим посиланням: http://pixelsvsbytes.com/blog/2013/02/nice-web-fonts-for-every-browser/

Покроковий метод:

  • відправте свій шрифт на WebFontGenerator і отримайте поштовий індекс
  • знайдіть шрифт TTF у файлі Zip
  • тоді, в Linux, виконайте цю команду (або встановіть apt-get install ttfautohint):
    ttfautohint --strong-stem-width=g neosansstd-black.ttf neosansstd-black.changed.ttf
  • потім ще один, надішліть новий файл TTF (neosansstd-black.changed.ttf) на WebFontGenerator
  • ви отримуєте ідеальний Zip з усіма своїми веб-шрифтами!

Сподіваюся, це допоможе.


Зробив чудову роботу у виправленні шрифтів шрифту під час переходу css (хоч і не видалив його повністю). Я використовував генератор FontSquirrel з опцією TTFAutohint
Андрій

Я використовував Fontie для повторного генерування файлів WOFF, WOFF2, EOT та SVG з автоматичним підказкою для Windows.
Домінік

4

... в тезі тіла, і це із вмісту та шрифту в загальному виглядає краще ...

body, html {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
text-rendering: optimizeLegibility;
text-rendering: geometricPrecision;
font-smooth: always;

font-smoothing: antialiased;
-moz-font-smoothing: antialiased;
-webkit-font-smoothing: antialiased;
-webkit-font-smoothing: subpixel-antialiased;
}


#content {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;

}

2
Вибачте ... що таке "reinschreiben"? Більшість із нас не розмовляють німецькою мовою, тому було б добре, якби ви провели всю свою посаду англійською.
rayryeng

3
О, вибачте, перепрошую, що переклав з Google і якось неправильне слово, оскільки проскочив :)
user3634787

3

Коли колір тексту темний, у Safari та Chrome у мене кращий результат із властивістю css для обведення тексту.

-webkit-text-stroke: 0.5px #000;

Питання стосується Firefox та Opera. тому ця відповідь не має нічого спільного з питанням
vsync

-4

Додавання

font-weight: normal;

Ваші шрифти @ font-face зафіксують сміливий вигляд у Firefox.


7
font-weight(не дивно) впливає на вагу шрифту, а не на згладжування шрифту. Додавання його до декларацій @ font-face призведе до плутанини, якщо зв'язаний файл шрифту не є файлом шрифту звичайної ваги.
Майк Мейер

@MikeMeyer Насправді я згоден з коментарем Аарона. Додавання шрифтової ваги: ​​нормальний шрифт включає, що "легкий" шрифт, здавалося б, додасть плутанини, але він повинен лише заплутати початківця розробника. Насправді є хорошою практикою вказувати стандартний стандарт за моїм досвідом. Нормальне в цьому випадку означає "нормальне" для включеного шрифту та символів, що використовуються, і не призначене для вказівки інформації про саму грань шрифту. У багатьох випадках це (особливо на великих платформах) зменшує ймовірність появи помилок із надто типовою поганою архітектурою, яку ви бачите навколо стилів шрифту.
dudewad

Насправді сама назва шрифту повинна позначати вагу шрифту за замовчуванням ...!
dudewad

@dudewad, це чудово, що ви згодні, і так, це пристойний (хоча і досить строгий) "підказки" про font-weight. Справа в тому, що ОП не запитували про це font-weight- просили про антиалізинг . Це правильна відповідь на зовсім інше питання.
Майк Мейер

@MikeMeyer ви абсолютно праві. Я іноді трохи захоплююся. ;)
dudewad
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.