Ввод Юникода — это вставка пользователем определенного символа Юникода на компьютер ; это распространенный способ ввода символов, который напрямую не поддерживается физической клавиатурой . Символы Юникода можно создавать либо путем их выбора на дисплее, либо путем ввода определенной последовательности клавиш на физической клавиатуре. Кроме того, символ, созданный одним из этих методов на одной веб-странице или в документе, можно скопировать на другую. В отличие от набора символов 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] или их комбинации.
Эти методы облегчают ввод наборов символов, выходящих за рамки базового набора, поставляемого в стандартной комплектации компьютера.
Многие системы предоставляют возможность визуального выбора символов Юникода. В 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 описан базовый метод , при котором за начальной последовательностью следует шестнадцатеричное представление кодовой точки и конечной последовательности . В большинстве современных систем есть какой-то метод для имитации этого, иногда ограниченный четырьмя цифрами (то есть только базовая многоязычная плоскость ).
Шестнадцатеричный ввод Юникода можно включить, добавив значение строкового типа (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).AltXaf1
AltXAltCa0000f1
AltX
Эта возможность позволяет вводить символы Юникода в других приложениях: можно, например, создать нужный символ в WordPad , а затем вырезать и вставить его куда угодно.
Должен быть включен шестнадцатеричный ввод Юникода. В Mac OS 8.5 и более поздних версиях можно выбрать раскладку клавиатуры шестнадцатеричного ввода Unicode ; в OS X (10.10) Yosemite это можно добавить в разделе «Клавиатура» → «Источники ввода».
Удерживая нажатой кнопку , введите четырехзначный шестнадцатеричный код Unicode, и появится эквивалентный символ; затем можно отпустить клавишу. [9] Символы за пределами BMP (базовая многоязычная плоскость) превышают четырехзначный предел механизма шестнадцатеричного ввода Unicode, но могут быть введены с использованием суррогатных пар : удерживая клавишу при вводе первого суррогата, , второго суррогата , затем отпустите клавишу Option.⌥ Option⌥ Option⌥ Option+
Во многих приложениях для прямого ввода символов Юникода работает один или оба следующих метода:
Это поддерживается приложениями GTK и Qt и, возможно, другими. В ChromeOS это функция операционной системы. [10]
insert-char
\U2300
или три ярлыка %%c
, %%d
, %%p
.В HTML и XML коды символов, отображаемые как символы, начинаются с амперсанда и знака номера (&#), а за ними следует точка с запятой (;). Кодовая точка может быть как десятичной , так и шестнадцатеричной ; в последнем случае ему предшествует «x». Ведущие нули могут быть опущены. Ряд символов может быть представлен именованным объектом .
Пример: В HTML/XML знак авторского права © ( U+00A9
) может быть закодирован как:
©
(десятичный код)©
(шестнадцатеричный код)©
(имя сущности)Это работает во многих программах, поддерживающих HTML-разметку, таких как Thunderbird и редактирование Википедии.