stringtranslate.com

Ввод Юникода

Показан инструмент сопоставления символов KCharSelect , отображающий подмножество математических операторов Юникода.
Логотип Юникод

Ввод Юникода — это вставка пользователем определенного символа Юникода на компьютер ; это распространенный способ ввода символов, который напрямую не поддерживается физической клавиатурой . Символы Юникода можно создавать либо путем их выбора на дисплее, либо путем ввода определенной последовательности клавиш на физической клавиатуре. Кроме того, символ, созданный одним из этих методов на одной веб-странице или в документе, можно скопировать на другую. В отличие от набора символов ASCII из 96 элементов (который он содержит), Unicode кодирует сотни тысяч графем (символов) практически из всех письменных языков мира, а также многих других знаков и символов. [1] [ нужен лучший источник ]

Система ввода Unicode должна обеспечивать большой набор символов, в идеале — все допустимые кодовые точки Unicode. Это отличается от раскладки клавиатуры , которая определяет клавиши и их комбинации только для ограниченного числа символов, соответствующих определенной локали .

Числа Юникода

Символы Юникода различаются кодовыми точками , которые обычно представляются буквой «U+», за которой следуют четыре, пять или шесть шестнадцатеричных цифр , например U+00AE или U+1D310. Символы в базовой многоязычной плоскости (BMP), содержащие современные сценарии  , включая множество китайских и японских иероглифов, а также множество символов, имеют 4-значный код. Исторические сценарии, а также многие современные символы и пиктограммы (например, смайлики , эмодзи , игральные карты и многие символы CJK ) имеют 5-значные коды.

Доступность глифа

Приложение может отображать символ только в том случае, если оно имеет доступ к шрифту , содержащему глиф для этого символа. [2] Очень немногие шрифты полностью поддерживают Unicode; большинство из них содержат только глифы, необходимые для поддержки нескольких систем письма . Однако большинство современных браузеров и других приложений для обработки текста способны отображать многоязычный контент, поскольку они выполняют замену шрифта , автоматически переключаясь на резервный шрифт, когда это необходимо для отображения символов, которые не поддерживаются текущим шрифтом. Какие шрифты используются в качестве резервных, а степень охвата Unicode зависит от программного обеспечения и операционной системы; Некоторые программы будут искать подходящий глиф во всех установленных шрифтах, другие — только в определенных шрифтах.

Если у приложения нет доступа к глифу, символ обычно отображается как глиф шрифта «.notdef» ⟨鏿⟩ [3] который часто отображается в виде пустого поля ☐ (названного « тофу » в зависимости от формы) , квадратик с X в нем, ☒, или квадратик со знаком вопроса, ⍰.

Техники

Расширенное отображение клавиатуры

Большинство операционных систем поддерживают расширенную раскладку клавиатуры  – возможность увеличить набор доступных символов с помощью таких методов, как альтернативная графика («AltGr»), которая придает каждой клавише третье и четвертое значение; Клавиша создания (иногда называемая мультиклавишой ), клавиша на клавиатуре компьютера , которая указывает, что следующие (обычно 2 или более) нажатия клавиш вызывают вставку альтернативного символа, обычно заранее составленного символа или символа; [4] неработающие клавиши , обычно используемые для присоединения определенного диакритического знака к базовой букве ; [5] или их комбинации.

Эти методы облегчают ввод наборов символов, выходящих за рамки базового набора, поставляемого в стандартной комплектации компьютера.

Выбор с экрана

Карта персонажей GNOME

Многие системы предоставляют возможность визуального выбора символов Юникода. В ISO/IEC 14755 это называется методом ввода с помощью экрана . [6]

Microsoft Windows предоставила версию программы «Карта символов» в формате Unicode , которая появилась в потребительской версии начиная с XP. Это ограничено символами в базовой многоязычной плоскости (BMP). Символы доступны для поиска по имени символа Юникода, а таблица может быть ограничена определенным блоком кода. [7] Также доступны более продвинутые сторонние инструменты того же типа (примечательным примером бесплатного ПО является BabelMap , который поддерживает все символы Юникода). В большинстве сред рабочего стола Linux доступны эквивалентные инструменты, такие как gucharmap (GNOME) или kcharselect (KDE). [8]

Обычно эти инструменты позволяют пользователю «копировать» выбранные символы в буфер обмена, а затем вставлять их в документ, вместо того, чтобы притворяться, что они вводятся напрямую.

Часто бывает практично просто найти нужный символ в Интернете или в другом документе, скопировать и вставить его оттуда.

Десятичный ввод (альтернативные коды)

Некоторые программы, работающие в Microsoft Windows , включая последние версии Word и Wordpad , могут создавать символы из своих кодовых точек Unicode, выраженные в десятичном формате и вводимые на цифровой клавиатуре с Altудерживаемой клавишей. Например, знак евро имеет шестнадцатеричный код 20AC, что в десятичном виде равно 8364, поэтому + будет создавать символ. Аналогично, + создает двойной штрих ( жирный шрифт на доске ) 𝕄 .Alt8364Alt120132

Десятичные кодовые точки в диапазоне 160–255 необходимо вводить с ведущим нулем (чтобы была выбрана кодовая страница Windows ), и, кроме того, кодовая страница Windows должна быть установлена ​​в соответствии с Unicode ( необходимо использовать CP1252 [a] ). Например, + дает ÷ , соответствующий его кодовой точке, но символ, создаваемый + , зависит от кодовой страницы OEM , такой как кодовая страница 437 , и может давать  . Кроме того, символы от + до + дают символы, назначенные в строках 8 и 9 в макете CP1252 , а не управляющие коды C1 , которые назначены этим числам в Юникоде.Alt0247Alt247Alt0128Alt0159

В программах, которые не предназначены для обработки кодов Alt более 255, полученный символ обычно соответствует остатку от деления числа на 256 .

Текстовый редактор Vim позволяет задавать символы с помощью двухсимвольной мнемоники, называемой орграфами . Установленный набор может быть дополнен пользовательскими мнемониками, определенными для произвольных кодовых точек, указанных в десятичном формате. Например, поскольку десятичное число 9881 равно шестнадцатеричному числу 2699, dig Gr 9881«Gr» связывается с U+2699 GEAR .

Ниже описано использование десятичных кодов в HTML.

Шестнадцатеричный ввод

В пункте 5.1 стандарта ISO/IEC 14755 описан базовый метод , при котором за начальной последовательностью следует шестнадцатеричное представление кодовой точки и конечной последовательности . В большинстве современных систем есть какой-то метод для имитации этого, иногда ограниченный четырьмя цифрами (то есть только базовая многоязычная плоскость ).

В Microsoft Windows

Шестнадцатеричный ввод Юникода можно включить, добавив значение строкового типа (REG_SZ), вызываемое EnableHexNumpadв раздел реестра , и присвоив ему HKEY_CURRENT_USER\Control Panel\Input Methodданные значения . 1Пользователям необходимо будет выйти из системы и снова войти в нее после редактирования реестра, чтобы этот метод ввода начал работать. (В версиях, предшествующих Vista, пользователям требовалась перезагрузка, чтобы система начала работать.)

Затем можно вводить символы Юникода, удерживая нажатой клавишу , набрав на цифровой клавиатуре, затем шестнадцатеричный код и отпустив клавишу . [2] Это может не работать для 5-значных шестнадцатеричных кодов, таких как . В некоторых версиях Windows может потребоваться ввод цифр 0–9 на цифровой клавиатуре или включение NumLock. [ нужна цитата ]Alt+AltU+1F937

В некоторых приложениях ( программы Word , WordPad и LibreOffice ) + заменит шестнадцатеричное число слева от курсора соответствующим символом Юникода. Коду не должны предшествовать никакие цифры или буквы a–f, если только он не состоит из шести шестнадцатеричных цифр, поскольку они могут рассматриваться как часть преобразуемого кода. Например, ввод с последующим + (или + , если используется французская версия) приведет к созданию «૱» (U+0AF1), а ввод с последующим + приведет к созданию «añ» («a», за которым следует символ U+00F1).AltXaf1AltXAltCa0000f1AltX

Эта возможность позволяет вводить символы Юникода в других приложениях: можно, например, создать нужный символ в WordPad , а затем вырезать и вставить его куда угодно.

В MacOS

Должен быть включен шестнадцатеричный ввод Юникода. В Mac OS 8.5 и более поздних версиях можно выбрать раскладку клавиатуры шестнадцатеричного ввода Unicode ; в OS X (10.10) Yosemite это можно добавить в разделе «Клавиатура» → «Источники ввода».

Удерживая нажатой кнопку , введите четырехзначный шестнадцатеричный код Unicode, и появится эквивалентный символ; затем можно отпустить клавишу. [9] Символы за пределами BMP (базовая многоязычная плоскость) превышают четырехзначный предел механизма шестнадцатеричного ввода Unicode, но могут быть введены с использованием суррогатных пар : удерживая клавишу при вводе первого суррогата, , второго суррогата , затем отпустите клавишу Option.⌥ Option⌥ Option⌥ Option+

В X11 (Linux и другие варианты Unix, включая ChromeOS)

Во многих приложениях для прямого ввода символов Юникода работает один или оба следующих метода:

Это поддерживается приложениями GTK и Qt и, возможно, другими. В ChromeOS это функция операционной системы. [10]

В платформенно-независимых приложениях

HTML

В HTML и XML коды символов, отображаемые как символы, начинаются с амперсанда и знака номера (&#), а за ними следует точка с запятой (;). Кодовая точка может быть как десятичной , так и шестнадцатеричной ; в последнем случае ему предшествует «x». Ведущие нули могут быть опущены. Ряд символов может быть представлен именованным объектом .

Пример: В HTML/XML знак авторского права © ( U+00A9) может быть закодирован как:

Это работает во многих программах, поддерживающих HTML-разметку, таких как Thunderbird и редактирование Википедии.

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


Примечания

  1. ^ CP1252 используется по умолчанию в Северной и Южной Америке, включая острова Карибского бассейна, Западную Европу, Центральную и Южную Африку, Австралию, Новую Зеландию и (бывшие) европейские колонии и владения в Океании.

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

  1. Лафонтен, Сильвен (17 февраля 2012 г.). «Разница и преимущества Unicode и ASCII». MSDN . Проверено 28 февраля 2014 г.
  2. ^ аб Эндрю Маркузе, «Как вводить символы Юникода в Microsoft Windows». Дата доступа: 13 сентября 2012 г.
  3. ^ Это кодовая точка частного использования U+10FFEE, которой вряд ли будет назначен глиф, поэтому он должен отображаться в качестве замены.
  4. ^ «Текстовые символы клавиатуры Linux: сочетания клавиш для ввода» . FSymbols . 24 июля 2013 г. Проверено 7 июля 2015 г.
  5. ^ «Мертвый ключ | Определение мертвого ключа от Merriam-Webster» . Merriam-webster.com . Проверено 1 мая 2017 г.
  6. ^ «ISO/IEC 14755:1997 Информационные технологии. Методы ввода символов из набора ISO/IEC 10646 с помощью клавиатуры или другого устройства ввода». ИСО . Проверено 14 октября 2017 г.
  7. ^ «Как использовать специальные символы в документах Windows» . support.microsoft.com . 31 июля 2019 г. Проверено 17 октября 2020 г.
  8. ^ Пек, Аккана (25 ноября 2009 г.). «Освоение наборов символов в Linux (Странные символы, часть 2)». ЛинуксПланета . Архивировано из оригинала 26 ноября 2010 г. Проверено 5 декабря 2018 г.
  9. ^ Ввод специальных символов и символов с акцентом. Архивировано 9 марта 2008 г. в Wayback Machine.
  10. ↑ ab Джек Буш (20 апреля 2018 г.). «Введите специальные символы с помощью Chromebook (акценты, символы, тире)». groovypost.com . Проверено 28 февраля 2020 г.
  11. ^ Документация Vim: gui_w32