Намеренно не назначенные кодовые точки Unicode
В Unicode область частного использования ( PUA ) представляет собой диапазон кодовых точек , которым по определению не будут назначены символы стандартом. [1] Определены три области частного использования: одна в базовой многоязыковой плоскости ( U+E000–U+F8FF ) и по одной в плоскостях 15 и 16 , и почти покрывающих их ( U+F0000–U+FFFFD , U+100000–U+10FFFD ). Они намеренно оставлены неопределенными, чтобы третьи стороны могли назначать свои собственные символы, не конфликтуя с назначениями Консорциума Unicode. В соответствии с Политикой стабильности Unicode [2] области частного использования останутся выделенными для этой цели во всех будущих версиях Unicode.
Назначения для символов области частного использования не обязательно должны быть «частными» в смысле строго внутренних для организации; ряд схем назначения были опубликованы несколькими организациями. Такая публикация может включать шрифт, который поддерживает определение (показ глифов), и программное обеспечение, использующее символы частного использования (например, графический символ для функции «печати документа»). По определению, несколько частных сторон могут назначать разные символы одной и той же кодовой точке, в результате чего пользователь может увидеть один частный символ из установленного шрифта там, где предполагался другой.
Определение
Согласно определению Unicode, кодовые точки в зонах частного использования не являются несимволами, зарезервированными или неназначенными. Их категория — « Other, private use (Co)
», и имена символов не указаны. Репрезентативные глифы не предоставляются, а семантика символов оставлена на усмотрение частного соглашения.
Символам частного использования назначаются кодовые точки Unicode, интерпретация которых не указана в настоящем стандарте и использование которых может определяться частным соглашением между сотрудничающими пользователями. Эти символы предназначены для частного использования и не имеют определенной, интерпретируемой семантики, за исключением частного соглашения. ... Для символов частного использования не предоставляются таблицы, поскольку любые такие символы по своей природе определены только вне контекста настоящего стандарта. [3]
Назначение
В базовой многоязычной плоскости (плоскость 0) блок под названием «Зона частного использования» имеет 6400 кодовых точек.
Плоскости 15 и 16 почти [примечание 1] полностью назначены двум дополнительным областям частного использования, Supplementary Private Use Area-A и Supplementary Private Use Area-B соответственно. В UTF-16 подмножество высоких суррогатов (U+DB80..U+DBFF) используется для этих и только этих плоскостей и называется High Private Use Surrogates .
Блоки PUA Unicode
В Unicode есть три блока PUA. [3]
Блок символов Unicode
Блок символов Unicode
Блок символов Unicode
История
В Unicode 1.0.0 область частного использования простиралась от U+E800 до U+FDFF (т.е. не включала U+E000..E7FF, но дополнительно включала диапазон U+F900..FDFF, который сейчас занят идеографами совместимости CJK , алфавитными формами представления и арабскими формами представления-A ). [7] Это было изменено на U+E000..F8FF в Unicode 1.0.1, [4] и оставалось таковым в Unicode 1.1. [8] Вопреки заблуждению, диапазон U+D800..DFFF (зарезервированный для суррогатов UTF-16 со времен Unicode 2.0) не был включен в диапазон частного использования какой-либо версии Unicode 1.x.
Исторически плоскости E0 (224) через FF (255) и группы 60 (96) через 7F (127) Универсального набора кодированных символов (т. е. U+E00000 через U+FFFFFF и U+60000000 через U+7FFFFFFF) также были обозначены как частное использование. Эти диапазоны были удалены из указанных диапазонов частного использования, когда UCS была ограничена семнадцатью плоскостями, достижимыми в UTF-16. [9]
Использование
Инициатива по стандартизации использует
Многие люди и учреждения создали коллекции символов для PUA. Некоторые из этих соглашений о частном использовании опубликованы, поэтому другие разработчики PUA могут ориентироваться на неиспользуемые или менее используемые кодовые точки, чтобы предотвратить наложения. Несколько символов и сценариев, ранее закодированных в соглашениях о частном использовании, фактически были полностью закодированы в Unicode, что потребовало сопоставления из PUA с другими кодовыми точками Unicode.
Одно из наиболее известных и широко применяемых соглашений PUA поддерживается ConScript Unicode Registry (CSUR). CSUR, который официально не одобрен и не связан с Unicode Consortium, обеспечивает сопоставление для сконструированных письменностей, таких как Klingon pIqaD и Ferengi script (Star Trek), Tengwar и Cirth (курсивные и рунические письменности Дж. Р. Р. Толкиена), Visible Speech Александра Мелвилла Белла и алфавит доктора Сьюза из On Beyond Zebra . Ранее CSUR кодировал нерасшифрованные символы Phaistos , а также алфавиты Shavian и Deseret , которые все были приняты для официального кодирования в Unicode.
Другое общее соглашение PUA поддерживается Medieval Unicode Font Initiative (MUFI). Этот проект пытается поддержать все аббревиатуры писцов, лигатуры, предкомпозитные символы , символы и альтернативные формы букв , встречающиеся в средневековых текстах, написанных латинским алфавитом. Явная цель MUFI — экспериментально определить, какие символы необходимы для представления этих текстов, и официально закодировать эти символы в Unicode. Начиная с версии Unicode 5.1, в официальную кодировку Unicode было включено 152 символа MUFI. [ требуется обновление ]
Некоторые согласованные коллекции символов PUA существуют частично или полностью, потому что Консорциум Unicode не спешит их кодировать. Некоторые, например, непредставленные языки, скорее всего, будут закодированы в будущем. Некоторые необычные случаи, такие как вымышленные языки, находятся за пределами обычной сферы действия Unicode, но явно не исключены принципами Unicode и могут появиться в конечном итоге (например, системы письма Star Trek и Tolkien). В других случаях предлагаемая кодировка нарушает один или несколько принципов Unicode и, следовательно, вряд ли когда-либо будет официально признана Unicode — в основном, когда пользователи хотят напрямую кодировать альтернативные формы, лигатуры или комбинации базовый символ-плюс-диакритический знак (например, схема TUNE).
- Эмодзи — это кодировка для символов изображений или эмотиконов, используемых в японских беспроводных сообщениях и веб-страницах. С Unicode 6.0 и более поздними версиями многие из них были закодированы в блоке Miscellaneous Symbols And Pictographs и в других местах SMP .
- GB/T 20542-2006 («Расширение набора тибетских кодированных символов A») и GB/T 22238-2008 («Расширение набора тибетских кодированных символов B») — это китайские национальные стандарты , которые используют PUA для кодирования предварительно составленных тибетских лигатур .
- GB 18030 и GBK используют PUA для временного кодирования символов, отсутствовавших в стандартах Unicode на момент публикации (большинство из них были закодированы с тех пор).
- Институт эстонского языка использует PUA для кодирования латинских и кириллических составных символов [10], не имеющих кодировки Unicode.
- Проект Free Tengwar Font Project использует иное сопоставление из реестра ConScript Unicode , которое в основном соответствует дискуссионной статье Майкла Эверсона от 2001-03-07 по Tengwar, но отличается в некоторых деталях.
- Стандарт MARC 21 использует PUA для кодирования восточноазиатских символов, присутствующих в MARC-8 [11], которые не имеют кодировки Unicode.
- Корпоративный PUA SIL использует PUA для кодирования символов, используемых в языках меньшинств, которые еще не приняты в Unicode.
- Проект шрифтов STIX использует PUA для предоставления всеобъемлющего набора шрифтов математических символов и алфавитов, многие из которых теперь также доступны в SMP, например, в блоке математических буквенно-цифровых символов .
- Новая кодировка тамильского языка Unicode (TUNE) [12] — это предлагаемая схема кодирования тамильского языка , которая устраняет выявленные недостатки текущей кодировки Unicode.
Использование поставщиком
Неформально диапазон U+F000 через U+F8FF известен как Corporate Use Area. Это происходит из ранних версий Unicode, которые определяли "End User Zone" (Зону конечного пользователя), простирающуюся от U+E000 вверх, и "Corporate Use Zone" (Зону корпоративного использования), простирающуюся от U+F8FF вниз, при этом граница между ними оставалась неопределенной. [8]
- В Adobe Glyph List для некоторых глифов использовался PUA. [13]
- Apple перечисляет диапазон из 1280 символов в своей документации для разработчиков [14] от U+F400 до U+F8FF в пределах PUA для использования Apple. Из них используются только 311, в диапазоне U+F700–U+F8FF ( NeXT ( NeXTSTEP и OPENSTEP ) и Apple ( macOS AppKit )). [15]
- Одним из них является U+F8FF, логотип Apple , который обычно поддерживается 8-битными наборами Apple.
- WGL4 использует PUA (U+F001 и U+F002) для кодирования дубликатов лигатур fi (U+FB01) fl (U+FB02). [16]
- Несуществующая функция Microsoft Services For Macintosh использовала U+F001 — U+F029 в качестве замены специальных символов, разрешенных в HFS , но запрещенных в NTFS , и U+F02A для логотипа Apple. [17] [18]
- В старых версиях своего компонента RichEdit Microsoft сопоставляла U+F020–U+F0FF в пределах PUA с символьными шрифтами. Для любого символа в этом диапазоне RichEdit отображал символ из символьного шрифта вместо конечного пользовательского символа (EUDC) [19] [20]
- AutoCAD [ требуется пояснение ] использует U+F8FC–U+F8FE для ⌀ (знак диаметра), ± ( знак плюс–минус ) и ° (знак градуса) соответственно.
- Некоторые шрифты размещают логотип Windows в
U+F000
. - Число
U+F000
— это последовательность цифр, начинающаяся с 13 или 18 в некоторых видеоиграх, таких как Agar.io. - В Ubuntu отображается
U+E0FF
как логотип «Circle Of Friends» [21] и U+F200
представляет собой «ubuntu» в шрифте Ubuntu с надстрочным текстом «Circle Of Friends» (это само по себе U+F0FF
). [22] - Шрифт 3270 включает логотип Debian в
U+F100
. - В шрифте Linux Libertine
U+E000
изображен Тукс , талисман Linux. - Значок шрифта Font Awesome использует PUA для отображения различных глифов.
- Powerline, плагин строки состояния для Vim , использует U+E0A0–U+E0A2 и U+E0B0–U+E0B3 для дополнительных символов рисования рамок . [23] [24] [25]
- На шрифте Fira Sans , используемом в Firefox OS ,
U+E003
отображается логотип Mozilla (голова динозавра). - Lotus Multi-Byte Character Set (LMBCS), кодировка и набор символов, используемые внутри Lotus / IBM Lotus 1-2-3 , Symphony , SmartSuite , Notes , Domino, а также ряда сторонних продуктов, таких как Microsoft Works , использует некоторые символы (
U+F862
- U+F89F
и U+F8FB
- U+F8FE
) в области частного использования для символов, не определенных в Unicode. Из них, U+F8FB
как известно, зарезервирован для символа валюты крона ("Kr"), а U+F8FC
и U+F8FD
были позже сопоставлены с U+FB02
( fl ) и U+FB01
( fi ) соответственно. Кроме того, когда коды UTF-16 встроены в LMBCS, коды UTF-16, соответствующие U+F601
through, U+F6FF
заменяются кодами UTF-16, которые содержали бы нулевые байты , поскольку LMBCS разработан так, чтобы не содержать встроенных нулевых байтов. [26] [27] - IBM зарезервировала несколько идентификаторов кодовых страниц для кодовых страниц PUA: кодовая страница 1446 для общей плоскости 15, кодовая страница 1447 для общей плоскости 16, кодовая страница 1448 для общей BMP PUA, кодовая страница 1445 (IBM AFP PUA № 1) для плоскости 15 с распределениями IBM в U+FFF00–U+FFFFD, [28] [29] и кодовая страница 1449 (IBM default PUA) для BMP PUA с распределениями IBM в U+F83D–U+F8FF. [30] [31]
- Файловая система Windows использует блок
U+F000
to U+F0FF
для экранирования специальных символов . - NetApp преобразует символы в именах файлов, которые разрешены в Unix, но недопустимы для клиентов SMB, в символы PUA. [32]
- Шрифт Chirp от Twitter
U+E000
предоставляет несколько дополнительных иконок, например , которая соответствует левой стрелке вниз, U+EA00
которая соответствует птице Twitter и U+F8FF
которая соответствует логотипу Apple, возможно, для совместимости со шрифтами Apple. [33]
Символы личного пользования в других наборах символов
Концепция резервирования определенных кодовых точек для частного использования основана на аналогичном более раннем использовании в других наборах символов. В частности, многие устаревшие символы в восточноазиатских письменностях продолжают использоваться в определенных именах или других ситуациях, и поэтому некоторые наборы символов для этих письменностей допускают использование символов частного использования (таких как определяемые пользователем плоскости CNS 11643 или гайдзи в некоторых японских кодировках). Стандарт Unicode ссылается на эти использования под названием «Определение конечного пользователя» (EUCD). [3]
Кроме того, блок управления C1 содержит два кода, предназначенных для частного использования «функций управления» по ECMA-48 : 0x91 частного использования один (PU1) и 0x92 частного использования два (PU2). [34] [35] Unicode включает их в U+0091 <control-0091> и U+0092 <control-0092> но определяет их как управляющие символы (категория Cc
), а не как символы частного использования (категория Co
). [5] [36]
Кодировки, не имеющие областей частного использования, но имеющие более или менее неиспользуемые области, такие как ISO/IEC 8859 и Shift JIS , стали свидетелями неконтролируемых вариантов этих кодировок. [37] Что касается Unicode, компании-разработчики программного обеспечения могут использовать области частного использования для своих желаемых дополнений.
Примечания
- ^ Последние два символа каждой плоскости определены как несимволы . Остальные 65 534 символа каждой из плоскостей 15 и 16 назначены как символы личного пользования.
Ссылки
- ^ "Глоссарий терминов Unicode: "Область частного использования (PUA)"". Консорциум Unicode .
- ^ "Политика стабильности кодировки символов Unicode". 2021-11-10 . Получено 2022-03-03 .
- ^ abc "Глава 23 Специальные области и символы формата" (PDF) . Стандарт Unicode версии 14.0 - Основная спецификация . Символы частного использования.
- ^ ab "Unicode 1.0.1" (PDF) . Стандарт Unicode . 1992-11-03. Архивировано (PDF) из оригинала 2016-07-02 . Получено 2016-07-09 .
- ^ abcd "База данных символов Unicode". Стандарт Unicode . Получено 2023-07-26 .
- ^ abc "Перечисленные версии стандарта Unicode". Стандарт Unicode . Получено 2023-07-26 .
- ^ "3.5: Private Use Area" (PDF) . Стандарт Unicode, версия 1.0, том 1 . Консорциум Unicode . 1991. стр. 118–119. ISBN 0-201-56788-1. Архивировано (PDF) из оригинала 2021-10-21 . Получено 2021-10-11 .
- ^ ab "2.0: Изменения в Unicode 1.0" (PDF) . Стандарт Unicode, версия 1.1 . Консорциум Unicode . стр. 3–4. UTR #4. Архивировано (PDF) из оригинала 2021-11-20 . Получено 11 октября 2021 .
- ^ Уистлер, Кен (2000). «Необходимые изменения для ISO/IEC 10646 относительно PUA». UTC /00-015. Архивировано из оригинала 2021-06-23 . Получено 2021-01-30 .
- ^ "База данных писем". Eki.ee. Архивировано из оригинала 2018-05-21 . Получено 2013-04-11 .
- ^ "Наборы символов: восточноазиатские символы: альтернативные сопоставления Unicode для символов MARC 21, назначенных для области частного использования (PUA): спецификации MARC 21 для структуры записи, наборов символов и носителей обмена". Библиотека Конгресса. 2004-09-02. Архивировано из оригинала 2013-08-19 . Получено 2013-04-11 .
- ^ "tunerfc.tn.nic.in". tunerfc.tn.nic.in. Архивировано из оригинала 2010-07-29 . Получено 2013-04-11 .
- ^ "Unicode Corporate Use Subarea, используемая Adobe Systems". 22 октября 1998 г. Архивировано из оригинала 9 октября 2002 г. Получено 12 мая 2021 г.
- ^ "NSOpenStepUnicodeReservedBase - Документация для разработчиков Apple". Apple Inc. Архивировано из оригинала 2020-11-06 . Получено 2020-10-16 .
- ^ Apple Computer, Inc. (2005) [1994]. "CORPCHAR.TXT - Реестр (внешняя версия) использования Apple символов корпоративной зоны Unicode". c03. Unicode Inc. Архивировано из оригинала 2020-10-30 . Получено 2020-10-16 .
- ^ "WGL4 Unicode Range U+2013 through U+FB02". Microsoft . Архивировано из оригинала 2014-07-17.
- ^ "SFM преобразует имена файлов Macintosh HFS в Unicode NTFS". Служба поддержки Microsoft . 24 февраля 2014 г. Архивировано из оригинала 27 мая 2016 г.
- ^ "ntfs.util.c". 2008. Архивировано из оригинала 2018-08-07 . Получено 2018-08-07 .
Недопустимые символы имени файла NTFS кодируются [
sic
] с использованием символов Unicode частного использования SFM (Services for Macintosh).
- ^ "Диапазон символов между U+F020 и U+F0FF в области частного использования Unicode сопоставлен с символьными шрифтами в Richedit 4.1". База знаний Microsoft . Архивировано из оригинала 2012-10-22.
- ^ "Обработка символов PUA в программном обеспечении Microsoft". SIL International . 2003-04-25. Архивировано из оригинала 2015-05-11 . Получено 2014-03-04 .
- ^ "Комментарий № 8: Ошибка № 651606 (круг друзей): Ошибки: Семейство шрифтов Ubuntu". Launchpad . 5 октября 2010 г. Архивировано из оригинала 17.10.2020 . Получено 17.10.2020 .
- ^ "Комментарий № 2: Ошибка № 853855: Ошибки: Семейство шрифтов Ubuntu". Launchpad . 26 сентября 2011 г. Архивировано из оригинала 17.10.2020 . Получено 17.10.2020 .
- ^ "Вопрос о плагине строки состояния Powerline на Stack Exchange, упоминающий символы области частного использования". Архивировано из оригинала 2015-03-12 . Получено 2015-03-22 .
- ^ "Изображения, показывающие символы области частного использования в исправленных шрифтах Powerline". Архивировано из оригинала 2015-05-11 . Получено 2015-03-22 .
- ^ Ли, Жэньчжи (2019-08-23). «Предложение о добавлении дополнительных символов в блок Graphics for Legacy Computing UCS» (PDF) . Получено 2023-07-31 .
- ^ "lmb-excp.ucm". GitHub . 2000-02-10. Архивировано из оригинала 2022-01-25 . Получено 2020-04-23 .
- ^ "Anhang 2. Der Lotus Multibyte Zeichensatz (LMBCS)" [Приложение 2. Набор многобайтовых символов Lotus (LMBCS)]. Lotus 1-2-3 Version 3.1 Referenzhandbuch [ Lotus 1-2-3 Version 3.1 Reference Manual ] (на немецком языке) (1-е изд.). Кембридж, Массачусетс, США: Lotus Development Corporation . 1989. стр. A2–1 – A2–13. 302168.
- ^ "CPGID 01445 (диаграмма)" (PDF) . РЕЕСТР: Наборы графических символов и кодовые страницы . 2012 [2011]. CH 3-3220-050.
Область, показанная на диаграмме выше, представляет только 254 байта строки FF в плоскости 0F.
- ^ "CPGID 01445: IBM AFP PUA No. 1". РЕЕСТР: Наборы графических символов и кодовые страницы . 2012 [2011]. CH 3-3220-050.
Область, показанная на диаграмме выше, представляет только 254 байта строки FF в плоскости 0F.
- ^ "CPGID 01449: IBM default PUA". IBM Globalization: Code page identifiers . IBM . Архивировано из оригинала 2015-09-16.
IBM выделила 195 позиций от U+F83D до U+F8FF для использования в качестве IBM Corporate-zone и намерена использовать их последовательно в IBM всякий раз, когда возникает необходимость в сохранении целостности символов IBM при передаче.
- ^ IBM (1997). unicode.nam: позволяет указывать символы Unicode с использованием имен, подобных IBM или PostScript .(Входит в комплект Borgendale, Ken, OS/2 Codepage и Keyboard Display Tools))
- ^ "Настройка сопоставления символов для преобразования имен файлов SMB на томах". 9 декабря 2021 г. Получено 14 октября 2022 г.
- ^ "Twitter Chirp Font". Копировать Вставить Дамп . Получено 2022-02-08 .
- ^ "Стандарт ECMA-48, пятое издание - июнь 1991 г." (PDF) . §8.2.14 Различные функции управления, §8.3.100, §8.3.101.
- ^ ISO/TC97/SC2 (1983-10-01). Набор управляющих символов C1 ISO 6429 (PDF) . ITSCJ/ IPSJ . ISO-IR -77.
{{citation}}
: CS1 maint: числовые имена: список авторов ( ссылка ) - ^ "Глава 4 Свойства символов" (PDF) . Стандарт Unicode версии 14.0 - Основная спецификация . Таблица 4-4.
- ^ "Map (external version) from Mac OS Japanese encoding to Unicode 2.1 and later". Архивировано из оригинала 2021-08-31 . Получено 2021-10-08 .