Почему в некоторых программах некоторые комбинирующие диакритические знаки смещены вправо?

Я заметил, что в Chrome (а также Word) некоторые комбинирующие диакритические знаки отображаются справа от символа, к которому они применяются, вместо того, чтобы покрывать его или быть сверху/снизу. Например на на этой странице, для меня все символы находятся справа от буквы 'o' , когда они должны быть горизонтально центрированы на 'o'.

Если вы посмотрите на официальная Unicode диаграмма для этого блока понятно, что это неправильное поведение. Так почему же Chrome отображать их неправильно, когда он правильно отображает другие диакритические знаки?

27
задан Roland Munsil
09.01.2023 20:34 Количество просмотров материала 2584
Распечатать страницу

1 ответ

существует три основные причины, по которым диакритические знаки, указанные с помощью комбинирующих знаков, могут быть неуместны:

  1. некоторые программы, например старые версии Word, неправильно реализуют диакритические знаки. Они должны размещать метки таким образом, чтобы обращать внимание на метрики базового символа, например, диакритический знак над " A " должен казаться выше, чем тот же диакритический знак над "a", но некоторые программы упрощенно просто накладывают диакритический глиф над базовым символом глиф.
  2. если базовый символ и комбинирующие диакритические знаки взяты из разных шрифтов, они часто не помещаются. Это типично причиняет небольшие смещения. Например, если вы открываете Word, установите шрифт Times New Roman, введите букву, а затем U+20D0, объединяющий левый гарпун над символом (например, введя 20d0 AltX), вы получаете диакритический знак в другом шрифте, потому что Times New Roman (как и большинство шрифтов) не получил его.
  3. некоторые сочетания диакритические знаки неправильно реализованы в шрифтах. Это случай, например, для U+20D0 в удивительно многих шрифтах, включая Arial Unicode MS, который, вероятно, где Ваш браузер берет его.

многие диакритические знаки появляются в страница упомянул неправильные реализации. Например, U+20D0 в Arial Unicode определяется в метриках шрифта (в самом файле шрифта), так что он имеет значительную ширину продвижения, в отличие от нуля, как диакритические знаки должно быть нормально. По сути, он был реализован так, как если бы это был обычный символ интервала. Это также относится к Asana Math, Cambria Math и Sun Ext-A, поэтому либо разработчики шрифтов скопировали ошибки друг друга, либо эта ошибка основана на некотором общем непонимании идентичности персонажа. Это также может быть преднамеренный дизайн, см. ниже.

Так что вы можете сделать? В текстовом редакторе или в программе публикации выберите подходящий шрифт. Это может повлиять на ваш выбор basic шрифт, так как обычно диакритические знаки должны быть взяты из того же шрифта, что и базовые символы. Любой выбор представляется дежавю Санс шрифтов в GNU Freefont, Латинской современной математике, Стикс, Symbola, XITS. Однако выбор может быть ограничен: гарпунные диакритические знаки обычно используются в математических обозначениях, а математические выражения обычно должны быть представлены шрифтом с засечками. На веб-странице, вы можете написать список альтернативных шрифтов в font-family декларации, используя только приемлемые шрифты, но тогда проблема в том, что большинство пользователей не будет иметь ни одного из них в своих системах, так что вы могли бы в конечном итоге с помощью подходящего бесплатного шрифта в качестве загружаемого шрифта (веб-шрифт).

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

есть еще кое-что, что вы можете сделать при использовании Word 2007 или новее. Использование мощных инструментов уравнений (плохо документировано, но см. мою электронную книгу Написание Математических Выражений), вы можете построить выражение с помощью базового символа и знака над ним многое, как вы можете использовать показатели, дроби, интегралы и т. д. в двумерной математической записи. На следующем снимке экрана показан первый o с гарпуном в Cambria Math курсивом (на самом деле" поддельный курсив"), а затем тот же, построенный с помощью инструментов уравнения, где используется тот же шрифт!

enter image description here

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

1
отвечен Jukka K. Korpela 2023-01-11 04:22

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх