Введение
Кана с половинной шириной (半角) — это символы катаканы, отображаемые в сжатом виде, занимающие половину обычной ширины (соотношение сторон 1:2) вместо стандартного квадратного соотношения (1:1). Например, обычная (полноразмерная) форма катаканы «ка» — カ, а форма с половинной шириной — カ. Хирагана с половинной шириной включена в Unicode и может использоваться в веб-страницах или электронных книгах через настройки функций шрифтов CSS: "hwid" 1 с использованием шрифтов Adobe Japan1 6 на основе OpenType. Кандзи с половинной шириной можно использовать на современных компьютерах, а также в некоторых принтерах чеков, электронных табло и старых компьютерах. Кана с половинной шириной использовались на заре японских вычислений, чтобы японские символы могли отображаться на той же сетке, что и моноширинные шрифты латинских символов. Кандзи с половинной шириной не использовались. В настоящее время полуширокие кана обычно не применяются, но находят применение в специфических областях, таких как дисплеи кассовых аппаратов, чеки магазинов, японское цифровое телевидение и субтитры DVD, а также на адресных этикетках. Их использование иногда обусловлено стилистическими предпочтениями, особенно часто встречающимися в интернет-сленге. Термин «кана с половинной шириной», который строго относится только к способу отображения кана, а не к способу их хранения, также неформально используется для обозначения блока A0–DF (в шестнадцатеричной системе счисления), где катакана хранятся в некоторых кодировках символов, таких как JIS X 0201 (1969) — см. раздел «Кодировки» ниже. Однако это формально неверно: этот стандарт JIS просто определяет, что катакана могут храниться в этих позициях, не указывая, как они должны отображаться. Путаница возникает из-за того, что в ранних вычислениях символы, хранящиеся в этих позициях, фактически отображались как полуширокие кана — см. раздел «Путаница» ниже.
История
Кана полуширины и кана 2/3 ширины использовались еще до появления компьютеров. В раннюю компьютерную эпоху ASCII определялся как 7-битный набор символов, вмещавший 128 символов. Однако, поскольку этот стандарт был разработан для Соединенных Штатов, он не содержал символов и знаков, таких как символ иены (¥), необходимый для представления японской валюты, и не предусматривал место для символов других алфавитов, таких как кана или кандзи, – таким образом, японские символы не могли быть закодированы. Более того, японские символы, как кана, так и кандзи, отрисовываются на квадратной сетке, в то время как латинские символы обычно пишутся более узко, – поэтому японские символы также не могли быть отображены. В 1969 году был разработан стандарт JIS X 0201, в то время как компьютеры, как с точки зрения программного обеспечения, так и аппаратных ресурсов, обычно не могли представлять тысячи китайских иероглифов кандзи, используемых в японском языке. В качестве компромисса этот стандарт кодировал катакану (только катакану, а не хирагану или кандзи) в виде небольшого набора символов, которым был присвоен диапазон верхних байтов 0x80–0xFF. Это позволило 8-битным процессорам кодировать и обрабатывать японский текст фонетически (как катакану), хотя и без возможности обработки хираганы или кандзи. Эти символы катаканы, в свою очередь, отображались как «кана полуширины» – новый, нестандартный, более узкий формат, чтобы соответствовать той же ширине, что и моноширинные латинские алфавиты, которые машины могли печатать и отображать. С точки зрения кодировки, JIS X 0201 является вариантом расширения ASCII – он включает в себя дополнительные символы и не полностью соответствует ASCII в перекрывающейся части (латинской секции). Кана полуширины была разработана как «первые японские символы, закодированные на компьютерах, поскольку они использовались в японских телеграммах». В 1973 году была создана общенациональная система передачи банковских данных (全国銀行データ通信システム), крупнейшая система денежных переводов в Японии. В сообщениях о транзакциях между банками можно было использовать только латинские буквы, цифры и катакану полуширины в пределах 20 символов. В 2018 году система была заменена ZEDI (Общенациональная система электронного обмена банковскими данными), которая может обрабатывать хирагану и кандзи с символами переменной длины. Чтобы катакана поместилась в отведенную узкую область, были сделаны некоторые компромиссы. Например, диакритические знаки дакутен и хандакутен рассматриваются как отдельные символы, а не как часть предыдущего символа. Этот компромисс заставил многих считать «кану полуширины» визуально непривлекательной и вызывает проблемы для многих компьютерных программ сегодня. Другое применение каны полуширины – экономия места. Японская версия Windows 95 использовала катакану полуширины MS P Gothic в своем пользовательском интерфейсе. Она была заменена на кану полной ширины MS UI Gothic, которая была лишь немного уже, чем MS P Gothic.
Кодирование
В спецификации JIS X 0201 (1969) символы катакана кодируются в блоке A0–DF (шестнадцатеричный), но способ их отображения не определен, и нет раздельного кодирования кана полной и полуширины. В JIS X 0208 символы катакана, хирагана и кандзи кодируются (и отображаются как символы полной ширины; символов полуширины нет), хотя порядок каны отличается – см. JIS X 0208#Хирагана и катакана. В Shift JIS, которая объединяет JIS X 0201 и JIS X 0208, эти кодировки (обе из которых могут кодировать латинские символы и катакану) хранятся отдельно: кодировки JIS X 0201 отображаются как полуширинные (следовательно, катакана JIS X 0201 отображается как полуширинная кана), а кодировки JIS X 0208 – как полноширинные (следовательно, латинские символы JIS X 0208 отображаются как полноширинные латинские символы). Таким образом, в Shift JIS латинские символы и катакана имеют два кодирования с двумя различными формами отображения – полуширинную и полноширинную. В Unicode символы катакана и хирагана в основном используются как обычные символы полной ширины (блоки катакана и хирагана отображаются как символы полной ширины); для хранения вариантов символов, включая полуширинную кану и полноширинные латинские символы, используется отдельный блок – блок «Полуширинные и полноширинные формы». Следовательно, катакана в JIS X 0201 и соответствующая часть производных кодировок (часть JIS X 0201 в Shift JIS) отображается как полуширинная, в то время как в Unicode формы полуширины определены отдельно.
Электронная почта
Поскольку протоколы SMTP и NNTP (используемые для доставки электронной почты и Usenet соответственно) ранее могли передавать только 7-битные байты, для отправки электронной почты на японском языке стало общепринятым использовать ISO 2022 JP. Полуширинная кана не входит в состав ISO 2022 JP: он включает в себя римский набор JIS X 0201 и весь JIS X 0208, но не набор катакана JIS X 0201 (который, например, в Shift JIS используется для полуширинной кана). Оба набора JIS X 0201 имеют коды ISO 2022, но профиль ISO 2022 JP включает только римский набор: это означает, что формат для включения полуширинной катаканы в ISO 2022 JP чётко определён, но при этом нарушает формат ISO 2022 JP. По этой причине, если полуширинная кана случайно попадет в сообщение, она может быть искажена при передаче (см. mojibake). Стандарт кодирования WHATWG, используемый HTML5, допускает декодирование, но не кодирование катаканы JIS X 0201 в ISO 2022 JP в качестве расширения формата и преобразует полуширинную катакану в их эквиваленты JIS X 0208 при кодировании. Сейчас эта проблема менее актуальна, поскольку большинство почтовых серверов поддерживают расширение 8BITMIME и, следовательно, понимают 8-битные символы. В качестве альтернативы можно использовать систему кодирования, такую как Base64, и указывать её в сообщении с помощью MIME.
Веб-страницы
Проблема, существующая в электронной почте, отсутствует на веб-страницах, поскольку HTTP поддерживает 8-битные символы. Однако, существует одна проблема: компьютерным программам сложно определить, следует ли интерпретировать символ как Shift JIS, EUC JP или UTF-8. Поэтому информацию о кодировке символов необходимо указывать в заголовке ответа HTTP или в метатеге.
Спутанность
Строго говоря, кодировка JIS X 0201 как "катакана половинной ширины" некорректна, поскольку стандарт не определяет ширину символов – он определяет только кодовое представление символов катакана. В стандарте JIS X 0201 символы катакана печатаются в нормальной (полной) ширине, а не половинной. Символы половинной ширины использовались только для отображения в период, когда символы отображались в половинной ширине (и использовались однобайтовые кодировки), до того как отображение символов в полной ширине (и связанные с ним двухбайтовые кодировки, такие как JIS X 0208) стало широко распространенным. Однако в стандарте Shift JIS, который объединяет стандарт JIS X 0201 (в котором символы латиницы и катакана отображались в половинной ширине) и стандарт JIS X 0208 (в котором символы катакана, хираганы, кандзи и латиницы отображались в полной ширине), символы катакана и латиницы кодируются дважды, как в JIS X 0201, так и в JIS X 0208, но отображаются в половинной или полной ширине в зависимости от того, в каком разделе они находятся (0201 или 0208) – таким образом, блок катакана 0201 можно рассматривать как соответствующий "кана половинной ширины", и широко распространено заблуждение, что стандарт 0201 определяет символы "половинной ширины". Более того, хотя JIS X 0201 является однобайтовой кодировкой (и отображается в половинной ширине), а JIS X 0208 – двухбайтовой кодировкой (и отображается в полной ширине), нет связи между количеством байтов и шириной (за исключением случаев, соответствующих Shift JIS, как описано выше) – например, Unicode может быть закодирован четырьмя байтами (UTF-32) для отображения как символов полной ширины, так и символов одинарной ширины.