2013-09-16 4 views
0

Я работаю над приложением, которое использует Adobe Text Layout Framework для обработки текстовых сообщений. Я столкнулся с проблемой, когда вставка неразрывного дефиса (U + 2011) отображается примерно в два раза длиннее обычного ascii-дефиса (U + 2010).Неразрывный дефис дольше обычного

MS Word (как и другие аналогичные приложения) использует одинаковый размер дефиса для каждого экземпляра, независимо от того, является он или нет.

The following is in Times New Roman and zoomed to 500%:

Inconsistent Hyphenation

В разметке TLF, оба дефисов кажутся такой же ширины. Я довольно смущен относительно того, как именно устранить эту особую досаду.

<p> 
    <span>- ascii hyphen</span> 
<p> 
<p> 
    <span>— em dash</span> 
</p> 
<p> 
    <span>– en dash</span> 
</p> 
<p> 
    <span>‑ non-breaking hyphen</span> 
</p> 

Это просто ошибка шрифта? Кажется, что у Arial такая же проблема, поэтому я не решаюсь обвинять поддержку шрифтов. Есть ли там эксперты TLF, которые раньше сталкивались с такой проблемой?

ответ

1

Это просто ошибка шрифта?

Да.

Ни один новый роман или не Arial support U + 2011 Non-Breaking Hyphen. (Arial Unicode делает, но это печальный шрифт.) Он вернется к любому другому шрифту, который может найти этот символ, что означает, что вы получаете несогласованное сочетание стилей.

+0

Спасибо, что доводит меня до корня проблемы. Есть ли у вас какие-либо предложения относительно того, как решить проблему? Я бы хотел, чтобы ascii-дефис и неразрывный дефис выглядели одинаково. –

+0

Я не знаком с TLF и не знаю, есть ли способ связать рендеринг/упаковку (т. Е. Рассматривать нормальный дефис как неразрывную). У вас есть контроль над используемыми шрифтами? Если вы по умолчанию не согласны с Palatino, проблема может быть скрыта :-) – bobince

+0

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