Opera не отображает определенные символы из веб-шрифтов

Может и не положено. Но потерпите меня. Я использую Google Web Fonts и включаю шрифт PT Sans следующим образом:

<link href="https://fonts.googleapis.com/css?family=PT+Sans:regular,italic,bold,bolditalic" rel="stylesheet" type="text/css">

и у меня даже .htaccess установлен так:

<IfModule mod_headers.c>
  <FilesMatch "\.woff$">
    Header set Content-Type "application/octet-stream"
  </FilesMatch>

  <FilesMatch "\.ttf$">
    Header set Content-Type application/octet-stream
  </FilesMatch>
</IfModule>

Теперь шрифт PT Sans не включает балтийские (ąččėįšųūž) символы, которые я использую. Но Chrome, Firefox, IE отображают их все идеально — даже без использования другого шрифта. Opera их просто пропускает и оставляет пустое место.

Только что понял, что он делает это только с жирным шрифтом. Проверьте этот пример:

<!doctype html>
<html lang="en" class="no-js">
  <head>
    <title>Font test</title>
    <meta charset="UTF-8">
    <link href="https://fonts.googleapis.com/css?family=PT+Sans:regular,italic,bold,bolditalic" rel="stylesheet" type="text/css">
  </head>

  <body style="font-family:'PT Sans';">
    aceeisuuz<br />
    ąčęėįšųūž
    <p style="font-weight:bold">ąčęėįšųūž</p>
  </body>
</html>

Теперь, как мне это исправить?


person donk    schedule 19.03.2012    source источник


Ответы (3)


Мне кажется, я просто добавил ваш пример кода в jsfiddle. Может быть, что-то еще происходит с вашим CSS/страницей?

http://jsfiddle.net/MetalFrog/gHhGv/

скриншот jsfiddle

person MetalFrog    schedule 19.03.2012
comment
Это не отображается для меня через jsfiddle. Точно такая же сборка Оперы. Строка, выделенная жирным шрифтом, не отображается. Что, черт возьми, происходит? - person donk; 19.03.2012
comment
Я очистил кеш оперы и перезагрузил ваш пример jsfiddle. Жирная строка появилась на секунду во время загрузки страницы, а затем исчезла. - person donk; 19.03.2012
comment
Очень прикольно. УЧР. Я всегда презираю, когда сталкиваюсь с вещами, которые кажутся случайными. Для этого должна быть первопричина, как нам сузить ее? - person MetalFrog; 19.03.2012
comment
В Opera 11.61 на Linux (Debian KDE) отображается отлично. - person Mr Lister; 19.03.2012

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

Непонятно, почему Opera иногда дает сбой, но важнее предусмотреть какой-то запланированный запасной вариант. Либо выберите совершенно другой шрифт, либо, по крайней мере, укажите несколько альтернативных шрифтов в списке шрифтов, например. font-family: 'PT Sans', Arial, sans-serif. Это предотвращает нечетные комбинации, такие как PT Sans и Times New Roman (общий шрифт по умолчанию), и также может обойти ошибку Opera.

person Jukka K. Korpela    schedule 19.03.2012
comment
В моем реальном проекте семейство шрифтов определено точно так, как вы показали. Балтийские символы по-прежнему не появляются, когда они выделены жирным шрифтом. - person donk; 19.03.2012
comment
@donkapone, если вы предоставите URL-адрес фактической страницы, мы сможем проверить, как она выглядит в браузерах других людей — это может быть проблема, связанная с установкой. - person Jukka K. Korpela; 20.03.2012
comment
MetalFrog предоставил пример ссылки здесь jsfiddle.net/MetalFrog/gHhGv, где я не вижу выделенной жирным шрифтом строки . - person donk; 20.03.2012
comment
@donkapone, в моей Opera 11.61, сборка 1250, Windows 7 видна выделенная жирным шрифтом строка с засечками. Что более удивительно, так это то, что если я изменю значение font-family на 'PT Sans', Arial, sans-serif, то Opera все равно отобразит его шрифтом с засечками. Мой главный практический совет таков: найдите шрифт, который закрывает все нужные вам символы. - person Jukka K. Korpela; 20.03.2012

Я столкнулся с той же проблемой.

решение было:

  1. Страница веб-шрифтов Google | Выберите свой кириллический шрифт | Быстрое использование | Проверьте свои настройки... -> добавьте набор кириллицы в выбор.

  2. Очистить кеш оперы;

person grigson    schedule 20.11.2012