Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску
Инструмент сопоставления символов KCharSelect показывает подмножество математических операторов Unicode.
Логотип Unicode

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

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

Числа в Юникоде [ править ]

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

Доступность [ править ]

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

Если приложение не имеет доступа к глифу, символ обычно отображается как глиф шрифта « .notdef. » ⟨􏿮⟩ [3], который часто отображается как пустое поле (получившее название «тофу» в зависимости от формы), квадрат со знаком X или квадрат со знаком вопроса. Современные реализации используют .notdef. для неподдерживаемых символов, а символ замены ⟨ ⟩ - только для ошибок кодирования. [4]

Выбор с экрана [ править ]

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

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

Microsoft Windows предоставила Unicode-версию программы Character Map , появившуюся в потребительской версии начиная с XP. Это ограничено символами в базовой многоязычной плоскости (BMP). Символы доступны для поиска по имени символа Unicode, и таблица может быть ограничена конкретным блоком кода. [6]

Также доступны более продвинутые сторонние инструменты того же типа (заметным примером бесплатного программного обеспечения является BabelMap , который поддерживает все символы Unicode). [7]

В большинстве окружений рабочего стола Linux доступны эквивалентные инструменты, такие как gucharmap (GNOME) или kcharselect (KDE). [8] [ неудачная проверка ]


Десятичный ввод [ править ]

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

Десятичные кодовые точки в диапазоне 160–255 должны вводиться с начальным нулем (чтобы была выбрана кодовая страница Windows ), и, кроме того, кодовая страница Windows должна быть настроена в соответствии с Unicode ( необходимо использовать CP1252 [a] ). Например, Alt+ 0247дает ÷ , что соответствует его кодовой точке, но символ, создаваемый Alt+, 247зависит от кодовой страницы OEM , такой как кодовая страница 437 , и может давать  .

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

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

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

Шестнадцатеричный ввод [ править ]

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

В Microsoft Windows [ править ]

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

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

Окно ввода Unicode

Если кто-то предпочитает не редактировать реестр или если, как на многих ноутбуках, цифровая клавиатура недоступна, можно использовать стороннее программное обеспечение, такое как UnicodeInput . [9]

Сценарии AutoHotkey поддерживают замену нажатий клавиш символами Unicode. Например, команда Send {U+2014}вставит длинное тире в текстовое поле активного окна. [10]

В некоторых приложениях (программы Word , WordPad и LibreOffice ) поддерживается более простой метод: сначала вводится код символа (от двух до шести шестнадцатеричных цифр), затем вводится Alt+, Xкоторый заменяет цифры на символ Unicode. Например, ввод f1и последующее нажатие комбинации приведет к появлению символа «ñ».

Если код не состоит из шести шестнадцатеричных цифр, ему не должны предшествовать цифры или буквы a – f, поскольку они могут рассматриваться как часть преобразуемого кода. Например, ввод с af1последующим Alt+ Xдаст «» (U + 0AF1), а ввод с a0000f1последующим Alt+ Xдаст «añ».

С помощью этого метода можно сгенерировать нужный символ в Word (например), а затем скопировать и вставить его в приложение, которое напрямую не поддерживает этот метод.

В MacOS [ править ]

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

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

В X11 (Linux и другие варианты Unix, включая Chrome OS) [ править ]

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

  • Удерживая Ctrl+, ⇧ Shiftвведите uшестнадцатеричные цифры и отпустите Ctrl+ ⇧ Shift.
  • Ввод Ctrl+ ⇧ Shift+ u, отпускание, затем ввод шестнадцатеричных цифр и нажатие ↵ Enter( Spaceили даже, в некоторых системах, нажатие и отпускание ⇧ Shiftили Ctrl). [12]

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

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

  • В Emacs , Ctrl+ x8↵ Enterили Meta+ xinsert-char.
  • В LibreOffice 5.1 и далее, Alt+ Xописанный выше метод для работы Windows.
  • В версиях Opera, которые используют механизм компоновки Presto, то есть до версии 12.xx включительно, введите шестнадцатеричное число желаемого символа или символа и затем нажмите Ctrl+ ⇧ Shift+ x(альтернативный ярлык Meta+ ⇧ Shift+ + xв macOS ).
  • В редакторе Vim в режиме вставки пользователь сначала набирает Ctrl+ V u(для кодовых точек длиной до 4 шестнадцатеричных цифр; используя Ctrl+ V ⇧ Shift+ U дольше), затем вводит шестнадцатеричное число желаемого символа или символа, и оно будет преобразовано в символ. (В Microsoft Windows Ctrl+ Qможет потребоваться вместо Ctrl+ V. [13] )
  • В AutoCAD \U2300 или трех клавиш %%c, %%d, %%p.

HTML [ править ]

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

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

  • © (десятичный код)
  • © (шестнадцатеричный код)
  • © (имя сущности)

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

См. Также [ править ]

  • ASCII
  • Диграф (программирование)
  • Клавиша AltGr
  • Составьте ключ

Заметки [ править ]

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

Ссылки [ править ]

  1. Lafontaine, Sylvain (17 февраля 2012 г.). «Unicode vs ASCII: разница и преимущества» . MSDN . Проверено 28 февраля 2014 .
  2. ^ a b Эндрю Маркузе, «Как вводить символы Unicode в Microsoft Windows» . Дата доступа: 13 сентября 2012 г.
  3. ^ Это кодовая точка для частного использования U + 10FFEE, которой вряд ли будет назначен глиф, поэтому она должна отображать замену.
  4. ^ https://www.quora.com/What-symbol-is-the-square-box-shown-for-non-presentable-Unicode-characters
  5. ^ «ISO / IEC 14755: 1997 Информационные технологии - Методы ввода для ввода символов из репертуара ISO / IEC 10646 с помощью клавиатуры или другого устройства ввода» . ISO . Проверено 14 октября 2017 .
  6. ^ «Как использовать специальные символы в документах Windows» . support.microsoft.com . 31 июля 2019 . Проверено 17 октября 2020 .
  7. ^ Каулиньш, Andis (15 марта 2012). Древние знаки: алфавит и истоки письма . books.google.com . ISBN 9783844220179. Проверено 5 декабря 2018 .
  8. ^ Пек, Аккана (2009-11-25). «Освоение наборов символов в Linux (Странные символы, часть 2)» . LinuxPlanet . Проверено 5 декабря 2018 .
  9. ^ Оприш, Елена. «Обзор UnicodeInput» . Софтпедия . Проверено 28 ноября 2018 года .
  10. ^ «Отправить ключи и щелчки» . ООО «Фонд АвтоХоткей».
  11. ^ ввод специальных символов и символов с диакритическими знаками. Архивировано 9 марта 2008 г. в Wayback Machine.
  12. ^ a b Джек Буш (20 апреля 2018 г.). «Введите специальные символы с помощью Chromebook (ударения, символы, длинное тире)» . groovypost.com . Проверено 28 февраля 2020 года .
  13. ^ Документация по Vim: gui_w32