Шрифт с двойной шириной (также называемый шрифтом с двойной шириной ) — это шрифт с фиксированной шириной, буквы и символы которого занимают одно из двух целых кратных указанного фиксированного горизонтального пространства. Традиционно это означает либо одинарную, либо двойную ширину символа, [1] хотя этот термин также применялся к шрифтам, использующим фиксированную ширину символов с другим простым соотношением между ними. [2]
Эти двойные ширины символов также называются половинной и полной шириной , где полноширинный символ занимает двойную ширину полуширинного символа. Это контрастирует со шрифтами переменной ширины , где буквы и интервалы имеют более двух различных значений ширины. И, в отличие от моноширинных шрифтов , это означает, что символ может занимать до двух эффективных значений ширины символа вместо одной ширины символа. Это дополнительное горизонтальное пространство позволяет размещать более широкие глифы, такие как большие идеограммы, которые не могут разумно вписаться в ширину одного символа строго однородного моноширинного шрифта.
Идея «дуоширинного» шрифта пришла из восточноазиатской типографики , где местные письменности символов CJK просто не могут поместиться в узкую колонку, используемую в латинских шрифтах с фиксированной высотой . [1] Обратите внимание, что это название «дуоширинный» в основном является историческим (около 1990 г.) западным различием; азиатские шрифты с такими характеристиками просто называют себя «моноширинными» или «фиксированными». [3]
Моноширинные шрифты CJK обычно включают полуширинные и полноширинные формы символов, которые обеспечивают различную ширину для набора. В дополнение к восточноазиатским символам и таким формам, в некоторых восточноазиатских шрифтах часто встречаются другие технические и пиктографические символы, которые становятся двухширинными , явление, известное как «неоднозначная ширина». [3]
Распространенной ошибкой западных программистов является пренебрежение поддержкой таких шрифтов:
wcwidth()
, изначально часть POSIX , доступна для запроса ширины символов. [4]За исключением некоторых японских моноширинных шрифтов, таких как Source Han Code JP, где в качестве ширины идеограммы используется ширина 1,5× , [6] почти все моноширинные шрифты CJK используют ширину идеограммы 2×. [3] (В случае корейского языка символы хангыль , которые обычно немного уже идеограмм, созданы для того, чтобы соответствовать им.)
Вот некоторые моноширинные шрифты CJK с двумя и более значениями ширины:
Западные двухширинные шрифты по своему назначению схожи с двухширинными шрифтами CJK, но они встречаются гораздо реже и поддерживаются меньше. Идея, похоже, ограничивается гарнитурой iA Writer , в которой латинские символы wmWM
имеют ширину 1,5×, так что они лучше сохраняют традиционную форму букв. [2]
Для шрифта с фиксированным шагом эта ширина преобразуется в ширину отображения в половину или целую единицу ширины. [...] Некоторые символы ведут себя по-разному в восточноазиатском контексте, чем в невосточноазиатском контенте. Их свойство ширины по умолчанию считается неоднозначным и должно быть преобразовано в фактическое свойство ширины на основе контекста.