stringtranslate.com

Ввод в Юникоде

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

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

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

Числа в кодировке Unicode

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

Наличие глифа

Глиф 0 должен быть назначен глифу .notdef. Глиф .notdef очень важен для предоставления пользователю обратной связи о том, что глиф не найден в шрифте. Этот глиф не должен оставаться без контура, так как пользователь будет видеть только то, что выглядит как пробел, если глиф отсутствует, и не будет знать об ограничении активного шрифта. [2]

Рекомендации по шрифтам OpenType (Microsoft.com)

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

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

Техники

Расширенная раскладка клавиатуры

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

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

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

Таблица символов GNOME

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

Microsoft Windows предоставила версию Unicode программы Character Map , появившуюся в потребительской версии, начиная с XP. Она ограничена символами в Basic Multilingual Plane (BMP). Символы можно искать по имени символа Unicode, а таблица может быть ограничена определенным блоком кода. [7] Начиная с Windows 10 Microsoft Windows также содержит так называемую «клавиатуру эмодзи». Ее можно запустить, удерживая клавишу Windows (ту, на которой есть символ Windows) и нажимая клавишу точки с запятой или точки с запятой. Клавиатура эмодзи позволяет вводить как эмодзи, так и символы. [8]

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

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

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

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

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

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

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

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

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

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

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

В Microsoft Windows

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

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

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

В MacOS

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

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

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

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

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

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

HTML

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

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

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

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

Примечания

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

Ссылки

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