Формы половинной и полной ширины - Википедия - Halfwidth and fullwidth forms

Командная строка (cmd.exe ) с корейской локализацией, отображающей символы половинной и полной ширины

В CJK (Китайский, японский и корейский) вычисления, графические персонажи традиционно относятся к полная ширинаТайвань и Гонконг: 全 形; в CJK: 全 角 ) и половина шириныТайвань и Гонконг: 半 形; в CJK: 半角 ) символы. С шрифты фиксированной ширины, символ половинной ширины занимает половину ширины символа полной ширины, отсюда и название.

Формы половинной и полной ширины это также имя Блок Unicode U + FF00 – FFEF, при условии, что старые кодировки, содержащие символы как половинной, так и полной ширины, могут иметь перевод без потерь в / из Unicode.

Обоснование

Персонажи, которые появляются в обоих JIS X 0201 (один байт) и JIS X 0208 / JIS X 0213 (двойной байт) имеют как полуширину, так и полную ширину в Shift JIS.

В дни текстовый режим При вычислении западные символы обычно располагались на экране в виде сетки, часто 80 столбцов на 24 или 25 строк. Каждый символ отображался в виде маленького матрица точек, часто около 8 пиксели широкий, а SBCS (однобайтовый набор символов) обычно использовался для кодирования символов западных языков.

По ряду практических и эстетических причин Ханьские персонажи должны быть квадратными, примерно в два раза шире, чем эти символы SBCS фиксированной ширины. Поскольку они обычно кодировались в DBCS (двухбайтовый набор символов) это также означало, что их ширина на экране в дуоширинный шрифт был пропорционален их байтовой длине. Некоторые терминалы и программы редактирования не могли обрабатывать двухбайтовые символы, начинающиеся с нечетных столбцов, только четные (некоторые не могли даже помещать двухбайтовые и однобайтовые символы в одну строку). Таким образом, наборы DBCS обычно включают латинские символы и цифры для использования вместе с символами CJK в одной строке.

С другой стороны, ранние японские вычисления использовали однобайтовую кодовую страницу, называемую JIS X 0201 за катакана. Они будут отображаться с той же шириной, что и другие однобайтовые символы, что сделает их кана половинной ширины персонажей, а не кана с нормальными пропорциями. Хотя сам стандарт JIS X 0201 не определяет отображение половинной ширины для катаканы, это стало визуально отличительной чертой в Shift JIS между однобайтовым JIS X 0201 и двухбайтовым JIS X 0208 катакана. Некоторые кодовые страницы IBM использовали аналогичную обработку для Корейское джамо,[1] на основе N-байтовый код хангыль и это EBCDIC перевод.

В Юникоде

Для совместимости с существующими наборами символов, которые содержат как половинные, так и полноширинные версии одного и того же символа, Unicode выделил единственный блок в U + FF00 – FFEF, содержащий необходимые символы «альтернативной ширины». Это включает в себя полнофункциональную версию всех ASCII символы и некоторые знаки препинания, отличные от ASCII, такие как знак йены, половинчатые версии катаканы и хангыль, и версии половинной ширины некоторых других символов, таких как круги. Были выделены только символы, необходимые для обхода без потерь к существующим наборам символов, а не (например) создание полноразмерной версии каждого символа с латинским акцентом.

Unicode назначает каждый кодовая точка "восточноазиатская ширина" свойство. Это может быть:[2]

Свойства символов Юникода в зависимости от ширины
СокращениеИмяОписание
WШирокийЕстественно широкий характер, например Хирагана.
NaУзкийЕстественно узкий персонаж, например Базовый латинский алфавит ISO.
FПолная ширинаШирокий вариант с нормализация совместимости к естественно узкому персонажу, например полноразмерный латинский шрифт.
ЧАСПоловина шириныУзкий вариант с нормализация совместимости к естественно широкому персонажу, например кана половинной ширины. Включает U + 20A9 ( ) в качестве исключения.
АДвусмысленныйСимволы включены в коды DBCS для Восточной Азии, но также и в коды SBCS для Европы, например Греческий алфавит. Следовательно, дуоширинное поведение может варьироваться.
NНейтральныйСимволы, которых нет в восточноазиатских кодах DBCS, например Деванагари.

Эмуляторы терминала может использовать это свойство, чтобы решить, должен ли персонаж занимать один или два «столбца» при определении вкладок и позиции курсора.

В OpenType

OpenType имеет теги функций "fwid", "halt", "hwid" и "vhal", которые будут использоваться для обеспечения полной или половинной ширины символа.[нужна цитата ]

Смотрите также

Рекомендации

  1. ^ «Демонстрация ICU - Конвертер Explorer». demo.icu-project.org. Получено 7 мая 2018.
  2. ^ Лунде, Кен (2019-01-25). «Стандартное приложение Unicode® № 11: ширина Восточной Азии». Консорциум Unicode.

внешняя ссылка