2014-11-25 2 views
8

Я пытаюсь использовать Segoe UI Light, Segoe UI Semilight и пользовательский интерфейс Segoe на веб-странице. Он отлично работает в IE, но Chrome, похоже, не проводит различия между Light и Semilight.Segoe UI Semilight в CSS не работает на Chrome

Я использую CSS, предложенный по телефону this StackOverflow answer, как это было предложено Microsoft.

/* 
Explicitly define a Segoe UI font-family so that we can assign Segoe UI 
Semilight to an appropriate font-weight. 
*/ 
@font-face { 
    font-family: "Segoe UI"; 
    font-weight: 200; 
    src: local("Segoe UI Light"); 
} 
@font-face { 
    font-family: "Segoe UI"; 
    font-weight: 300; 
    src: local("Segoe UI Semilight"); 
} 
@font-face { 
    font-family: "Segoe UI"; 
    font-weight: 400; 
    src: local("Segoe UI"); 
} 
@font-face { 
    font-family: "Segoe UI"; 
    font-weight: 600; 
    src: local("Segoe UI Semibold"); 
} 
@font-face { 
    font-family: "Segoe UI"; 
    font-weight: 700; 
    src: local("Segoe UI Bold"); 
} 
@font-face { 
    font-family: "Segoe UI"; 
    font-style: italic; 
    font-weight: 400; 
    src: local("Segoe UI Italic"); 
} 
@font-face { 
    font-family: "Segoe UI"; 
    font-style: italic; 
    font-weight: 700; 
    src: local("Segoe UI Bold Italic"); 
} 

Следующая jsfiddle показывает различные шрифты веса Segoe UI, включая свет и Полусветлый: http://jsfiddle.net/nHXDA/

Вот результаты.

Chrome:

enter image description here

IE:

enter image description here

Любые идеи о том, как это исправить?

+0

У меня тот же вопрос. Вот код, показывающий, что накладывает локальный пользовательский интерфейс Segoe на веб-шрифт: http://codepen.io/mikewheaton/pen/vxVgJx –

ответ

5

Помимо того, что ваш шрифт будет отображаться только на ОС Windows Устройства правильно, пока они будут игнорироваться на всех других, у которых нет установленного шрифта, вам нужно убедиться, что у вас есть соответствующая резервная копия.

Во-вторых, ваше определение шрифта неверно и не работает с перекрестным браузером. Хотя Internet Explorer может напрямую использовать правильный файл шрифта, указанный src: local("Segoe UI Semibold");, все остальные браузеры должны ссылаться на семейство шрифтов. src: local("Segoe UI");.

В случае SemiBold необходимо указать определение шрифта, как это:

@font-face { 
    font-family: "Segoe UI"; 
    font-weight: 300; 
    src: local("Segoe UI Semilight"), local("Segoe UI"); 
} 

После того, как вы зафиксировали свое определение шрифта он должен выглядеть как на следующем снимке экрана. В этих скриншотах вы также увидите, что если семейство шрифтов указано с полным именем, а не с именем семейства шрифтов, шрифт будет отбрасываться в Times New Roman. Это происходит потому, что браузер не может разрешить имя шрифта, которое, по-видимому, является эксклюзивным для IE.

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

Various Screenshots of browsers

+1

Я намеренно не добавлял резервные копии в свой пример, потому что я хотел сварить вопрос только по соответствующей проблеме. Тем не менее, я думаю, что у вас есть жизнеспособное решение. Благодаря! –

+0

Я разработал CodePen и добавил новый '@ font-face', как вы предложили, но я до сих пор не могу использовать Semilight. Вместо этого он использует Light. http://codepen.io/mikewheaton/pen/ryqYjg –

2

Различные браузеры имеют разные способы визуализации шрифтов. Chrome, будучи самым большим виновником плохо рендеринга шрифтов в лучшие времена, я наткнулся на ярмарки несколько статей по этому вопросу (некоторые, как в последнее время.)

https://code.google.com/p/chromium/issues/detail?id=408587

При установке Google Canary (еженощном «бета-версия» Google Chrome) и проверить их там, какие результаты вы получаете? Просто проверяйте, так как это может быть ошибка, зависящая от версии. Недавно прочитав несколько статей, связанных с обновлением Chrome, он больше не будет отображать пользовательский интерфейс Segoe на font-weight: 300/200.

Плюс, устали от использования локальных шрифтов, любой, кто не использует ПК с ОС Windows, не увидит эту визуализацию шрифтов, а также Mac/Linux/Chrome/Firefox.

Там же бесплатные альтернативы местных машин, которые вы можете загрузить/использовать в качестве WebFont (даже если вы планируете использовать локальный веб-сайт только), такие как Google's Open Sans.

+1

Правильно, я полностью осведомлен о проблемах с локальными шрифтами и открытыми альтернативами, и я использую их как можно лучше. Я просто хотел сварить проблему до ее голых костей ради StackOverflow. –

+1

Проблема переигрывается с Chrome Canary. Похоже, вы правы в том, что Chromes не любят визуализацию шрифтов. –

Смежные вопросы