Вертикальное положение WOFF по сравнению с OTF/TTF/SWF?

Мы работаем над большим приложением для печати с тысячами шрифтов. Исторически они отображались с помощью Flash, но, очевидно, сейчас мы изучаем HTML5.

Подмножество шрифтов WOFF отображается вертикально смещенным вниз на несколько пикселей — похоже, это не зависит от конвертера. (Я перепробовал более дюжины конверсий WOFF, и все они отображают одно и то же позиционирование.)

Очевидно, что в затронутых шрифтах есть что-то, из-за чего WOFF отображается вертикально вниз от позиции OTF/TTF/SWF. Может ли кто-нибудь указать мне ссылку, которая могла бы объяснить, что?

Спасибо, Г

ETA: следуя приведенным ниже комментариям, я отредактировал это, чтобы включить MCVE.

Выбранный пример демонстрирует, как шрифт ClarendonNo1URW-Lig отображает небольшое количество пикселей ниже, чем можно было бы ожидать при использовании того же шрифта вне браузера.

Снимок экрана HTML-страницы, отображающей WOFF с проблемным шрифтом по сравнению с PNG, извлеченным из InDesign с использованием того же шрифта

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

Все значения позиционирования рассчитываются явным образом из этих значений подъема/спуска шрифта и были проверены для более чем 1000 шрифтов — они являются идеальными по пикселям в более чем 90% шрифтов, но некоторые (например, в примере) смещены вертикально вниз.

Кроме того, это явление наблюдается во многих браузерах — похожее поведение наблюдается в FireFox, Edge, Opera, Chrome...

Похоже, что это не зависит от конвертера - я перепробовал почти дюжину конвертеров из онлайн-сервисов ttf в woff в купленное программное обеспечение, включая TransType и т. Д. Замена WOFF на исходный TTF или OTF (если применимо) не устраняет проблему, так что, вероятно, что-то в самом исходном файле шрифта намекает браузеру на отображение ниже. Но я понятия не имею, что и как запросить, чтобы учесть то же самое.

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

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style>
@font-face {
font-family: 'ClarendonNo1URW-Lig';
src: url('/assets/compiled_fonts/ClarendonNo1URW_Lig.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
img {
width:3000px;
transform-origin:0 0;
}
p {
width:3000px;
background-color:#00AEEF; 
margin:0;
position:relative;
}
span {
line-height:0px;  
color: #000000;  
position: absolute;
}
</style>
</head>
<body>
<h1>As displayed by HTML</h1>
<div id="paraToStyle" style="text-align:left; ">
<p style="height: 226.8px;" id="bobParent">
<span id="bobToStyle" style="font-family: ClarendonNo1URW-Lig; font-size: 72px; top: 36px;">Net netted nets nest nests stents N e t n s l y L</span>
<br>
<span id="bobToStyle2" style="font-family: ClarendonNo1URW-Lig; font-size: 72px; top: 122.4px;">hairdressing Sillily Lloyds of Lyana LYANG</span>
<br>
<span id="bobToStyle3" style="font-family: ClarendonNo1URW-Lig; font-size: 72px; top: 208.8px;">Better BETTER fet Fetter Gest Fest</span>
</p>
</div>
<br>
<h1>As exported from InDesign</h1>
<img style="transform: scale(1, 1);" src="/fontImages/ClarendonNo1URW_Lig.png" id="paraImageFromInDesign">
</body>

person Gaius Coffey    schedule 14.04.2016    source источник
comment
Этот.... вопрос не имеет смысла. WOFF — это буквально побайтовый шрифт OpenType со сжатием без потерь. Хотите добавить больше деталей, mcve, определенные шрифты, информацию об отладке консоли браузера, что-нибудь, что позволит людям, имеющим дело с OpenType и Интернетом, понять, с чем вы столкнулись?   -  person Mike 'Pomax' Kamermans    schedule 15.04.2016
comment
Извините, что это бессмысленно, однако это подтверждается проверяемым наблюдением; из 1000 шрифтов более 900 выровнены по вертикали, как я и ожидал, по сравнению с настольной публикацией, использующей не веб-шрифт. Но остальные заметно смещены (обычно вниз) на несколько пикселей. Это для идентичного кода с высотой строки в html, установленной на 0, чтобы исключить другие эффекты. Я посмотрю на предоставление MCVE, но это, очевидно, сложно из-за проприетарного характера шрифтов.   -  person Gaius Coffey    schedule 16.04.2016
comment
начните с простого: выберите шрифт, напишите веб-страницу с одним абзацем, которая использует этот шрифт в форме открытого типа с @font-face, и снова с тем же шрифтом, но с помощью профессиональных инструментов преобразования WOFF (конвертер Google woff, FontForge и т. д.). Если вы не можете распространять шрифт, скажите, какой из них вы использовали (потому что он может принадлежать людям), покажите код, который вы использовали (html + css), сделайте снимок экрана и покажите результат для нескольких разных браузеров, скажите, какие инструменты вы использовали для преобразование, и тогда у вас есть вопрос с хорошим объемом информации и подробностей.   -  person Mike 'Pomax' Kamermans    schedule 16.04.2016
comment
Добавлен MCVE - похоже, проблема заключается в обработке браузером определенных шрифтов, а не в преобразовании WOFF как таковом - например: и WOFF, и OTF / TTF отображают одну и ту же проблему позиционирования в браузере по сравнению с настольным компьютером.   -  person Gaius Coffey    schedule 18.04.2016


Ответы (1)


Вероятно, вам нужно преобразовать это с помощью инструмента, который исправляет вертикальные метрики для Mac/PC. (например, Fontsquirrel)

Поскольку это происходит в браузерах, это похоже на проблему, описанную в этой теме: Mac по сравнению с проблемой отображения высоты шрифта в браузере Windows.

Другой вариант через командную строку, кажется, возится с конфигурацией TTX через FontTools

person Paracetamol    schedule 29.07.2016
comment
Похоже, что это важные показатели, вполне возможно, лежащие в основе нашей проблемы, но в данном случае они не связаны с Mac/Windows. Скорее это связано со шрифтом, поскольку проблема может возникать одинаково в разных операционных системах. Таким образом, разница заключается в том, что настольный компьютер отличается от браузера, как будто они читают разные части таблицы в каждом случае. Знаете ли вы, есть ли ссылка на эти показатели для нашего исследования? - person Gaius Coffey; 15.08.2016
comment
Привет! Это немного не в моей области, но на самом деле мы также наблюдали различное поведение на разных шрифтах — я просто предполагаю, что использование «подрезанных» метрик сбивает с толку некоторые средства визуализации, поэтому такие инструменты, как Fontsquirrel, сглаживают их для обоих системных шрифтов. Я знаю, что есть инструменты автоматического кернинга, но не уверен, что они справятся с этой проблемой. Вероятно, это как-то связано с самим дизайном шрифта, но это только мое предположение. - person Paracetamol; 23.08.2016