Намеренно неназначенные кодовые точки Юникода
В Unicode зона частного использования ( PUA ) — это диапазон кодовых точек , которым по определению Консорциум Unicode не будет назначать символы . [1] Определены три области частного использования: одна в базовой многоязычной плоскости ( U+E000–U+F8FF ) и по одной в плоскостях 15 и 16 , почти покрывающих их ( U+F0000–U+FFFFD , U+ 100000–U+10FFFD ). Кодовые точки в этих областях не могут рассматриваться как стандартизированные символы в самом Юникоде. Они намеренно оставлены неопределенными, чтобы третьи стороны могли определять свои собственные символы, не вступая в противоречие с назначениями Консорциума Unicode. В соответствии с Политикой стабильности Unicode [2] области частного использования будут оставаться выделенными для этой цели во всех будущих версиях Unicode.
Назначения персонажам Области частного использования не обязательно должны быть частными в том смысле, что они строго внутренние для организации; Ряд схем назначения был опубликован несколькими организациями. Такая публикация может включать шрифт, который поддерживает определение (показывающее глифы), и программное обеспечение, использующее символы частного использования (например, графический символ для функции «распечатать документ»). По определению, несколько частных лиц могут присваивать разные символы одной и той же кодовой точке, в результате чего пользователь может видеть один частный символ из установленного шрифта, в то время как предполагался другой.
Определение
Согласно определению Unicode, кодовым точкам в областях частного использования присваиваются символы — они не являются несимвольными, зарезервированными или неназначенными. Их категория — " Other, private use (Co)
", имена персонажей не указаны. Репрезентативные глифы не предусмотрены, а семантика символов остается на усмотрение частного лица.
Символам частного использования присваиваются кодовые точки Юникода, интерпретация которых не определяется настоящим стандартом и использование которых может определяться частным соглашением между сотрудничающими пользователями. Эти символы предназначены для частного использования и не имеют определенной, интерпретируемой семантики, кроме как по частному соглашению.
...
Таблицы для символов частного использования не предусмотрены, поскольку любые такие символы по своей природе определяются только вне контекста настоящего стандарта. [3]
Назначение
В базовой многоязычной плоскости (плоскость 0) блок под названием «Область частного использования» имеет 6400 кодовых точек.
Самолеты 15 и 16 почти [примечание 1] полностью отнесены к двум дальнейшим зонам частного использования: дополнительной зоне частного использования-A и дополнительной зоне частного использования-B соответственно. В UTF-16 для этих и только этих плоскостей используется подмножество старших суррогатов (U+DB80..U+DBFF) и называется суррогатами высокого частного использования .
Блоки PUA Юникода
В Юникоде есть три блока PUA. [3]
Блок символов Юникода
Блок символов Юникода
Блок символов Юникода
История
В Unicode 1.0.0 область частного использования расширилась от U+E800 до U+FDFF (т.е. не включала U+E000..E7FF, но дополнительно включала диапазон U+F900..FDFF, который теперь занят иероглифами совместимости CJK , алфавитными буквами ). Формы презентации и формы презентации на арабском языке-А ). [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 поддерживается реестром Unicode ConScript (CSUR). CSUR, который официально не одобрен и не связан с Консорциумом Unicode, обеспечивает отображение созданных сценариев, таких как клингонский pIqaD и сценарий ференги («Звездный путь»), Тенгвар и Кирт (курсивные и рунические сценарии Дж. Р. Р. Толкина), «Видимый » Александра Мелвилла Белла. Речь и алфавит доктора Сьюза из фильма «За пределами зебры» . CSUR ранее кодировал нерасшифрованные символы Феста , а также алфавиты Шавиан и Дезерет , которые были приняты для официальной кодировки в Unicode.
Другое общее соглашение PUA поддерживается Medieval Unicode Font Initiative (MUFI). Этот проект пытается поддержать все писцовые сокращения, лигатуры, заранее составленные символы , символы и альтернативные формы букв, встречающиеся в средневековых текстах, написанных на латинице. Основная цель MUFI — экспериментально определить, какие символы необходимы для представления этих текстов, и официально закодировать эти символы в Unicode. Начиная с версии Unicode 5.1, в официальную кодировку Unicode включены 152 символа MUFI. [ нужно обновить ]
Некоторые согласованные коллекции символов PUA существуют частично или полностью, потому что Консорциум Unicode не торопится их кодировать. Некоторые из них, например непредставленные языки, вероятно, в будущем будут закодированы. Некоторые необычные случаи, такие как вымышленные языки, выходят за рамки обычной сферы применения Юникода, но не исключаются явно принципами Юникода и могут со временем проявиться (например, системы письменности «Звездный путь» и Толкиен). В других случаях предлагаемая кодировка нарушает один или несколько принципов Unicode и, следовательно, вряд ли когда-либо будет официально признана Unicode — в основном, когда пользователи хотят напрямую кодировать альтернативные формы, лигатуры или комбинации базовых символов и диакритических знаков (например, схема TUNE).
- Emoji — это кодировка символов изображений или смайлов, используемых в японских беспроводных сообщениях и на веб-страницах. В Unicode 6.0 и более поздних версиях многие из них были закодированы в блоке «Разные символы и пиктограммы» и в других местах SMP .
- GB/T 20542-2006 («Расширение набора тибетских кодированных символов A») и GB/T 22238-2008 («Расширение набора тибетских кодированных символов B») являются китайскими национальными стандартами , которые используют PUA для кодирования заранее составленных тибетских лигатур .
- GB 18030 и GBK используют PUA для временного кодирования символов, отсутствующих в стандартах Unicode на момент публикации (большинство из них с тех пор были закодированы).
- Институт эстонского языка использует PUA для кодирования заранее составленных символов латиницы и кириллицы [10] , которые не имеют кодировки Unicode.
- Проект бесплатных шрифтов Tengwar использует сопоставление, отличное от реестра Unicode ConScript, которое во многом соответствует дискуссионному документу Tengwar Майкла Эверсона от 2001-03-07, но отличается в некоторых деталях.
- Стандарт MARC 21 использует PUA для кодирования восточноазиатских символов, присутствующих в MARC-8 [11] , которые не имеют кодировки Unicode.
- Корпоративный PUA SIL использует PUA для кодирования символов, используемых на языках меньшинств, которые еще не приняты в Unicode.
- Проект STIX Fonts использует PUA для предоставления полного набора математических символов и алфавитов, многие из которых теперь также доступны в SMP, например, в блоке «Математические буквенно-цифровые символы» .
- Новая тамильская кодировка Unicode (TUNE) [12] — это предложенная схема кодирования тамильского языка , которая устраняет очевидные недостатки текущей кодировки Unicode.
Использование поставщиком
Неофициально диапазон от U+F000 до U+F8FF известен как зона корпоративного использования. Это происходит из ранних версий Unicode, которые определяли «зону конечного пользователя», простирающуюся от U + E000 вверх, и «зону корпоративного использования», простирающуюся от U + F8FF вниз, при этом граница между ними оставалась неопределенной. [8]
- Раньше в списке глифов Adobe для некоторых глифов использовался PUA. [13]
- В своей документации для разработчиков [14] Apple указывает диапазон из 1280 символов от U+F400 до U+F8FF в PUA для использования Apple. Из них используются только 311 в диапазоне U+F700–U+F8FF ( NeXT ( NeXTSTEP и OPENSTEP ) и Apple (Mac OS X 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
отображается как логотип «Круг друзей» [21] и U+F200
является «ubuntu» в шрифте Ubuntu с надстрочным индексом «Круг друзей» (это само по себе U+F0FF
) . [22] - Шрифт 3270 включает логотип Debian по адресу
U+F100
- Шрифтом Linux Libertine
U+E000
отображается Tux , талисман Linux . - Иконочный шрифт Font Awesome использует PUA для отображения различных глифов.
- Powerline, плагин строки состояния для Vim , использует U+E0A0–U+E0A2 и U+E0B0–U+E0B3 для дополнительных символов рисования прямоугольников . [23] [24] [25]
- На шрифте Fira Sans , используемом в ОС Firefox ,
U+E003
отображается логотип Mozilla (голова динозавра). - Набор многобайтовых символов Lotus (LBCS), кодировка и набор символов, внутренне используемые Lotus / IBM Lotus 1-2-3 , Symphony , SmartSuite , Notes , Domino , а также рядом сторонних продуктов, таких как Microsoft Works , использует некоторые символы (
U+F862
- U+F89F
и U+F8FB
- U+F8FE
) в области частного использования для символов, не определенных в Юникоде. Известно , что из них U+F8FB
зарезервирован символ валюты кроны («Kr»), а U+F8FC
позже U+F8FD
они были сопоставлены с U+FB02
( fl ) и U+FB01
( fi ) соответственно. Кроме того, когда коды UTF-16 встроены в LMBCS, коды UTF-16, соответствующие сквозному коду, U+F601
заменяются 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 (PUA по умолчанию IBM) для PUA BMP с выделениями IBM в U+F83D–U+F8FF. [30] [31]
- Файловая система Windows использует блокировку
U+F000
to U+F0FF
для экранирования специальных символов . - NetApp преобразует символы в именах файлов, которые разрешены в Unix, но недопустимы для клиентов SMB, в символы PUA. [32]
- Шрифт Twitter Chirp содержит несколько дополнительных значков, например, которые
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> , но определяет их как управляющие символы (категория ), а не символы частного использования (категория ). [5] [36] Cc
Co
Кодировки, которые не имеют областей частного использования, но имеют более или менее неиспользуемые области, такие как ISO/IEC 8859 и Shift JIS , стали свидетелями развития неконтролируемых вариантов этих кодировок. [37] Что касается Unicode, компании-разработчики программного обеспечения могут использовать области частного использования для своих желаемых дополнений.
Примечания
- ^ Последние два символа каждой плоскости определяются как несимволы . Остальные 65 534 символа каждого из планов 15 и 16 назначены символами частного использования.
Рекомендации
- ^ «Глоссарий терминов Юникода: «Зона частного использования (PUA)»» . Консорциум Юникод .
- ^ «Политика стабильности кодировки символов Unicode» . 10.11.2021 . Проверено 3 марта 2022 г.
- ^ abc «Глава 23, специальные области и символы формата» (PDF) . Стандарт Unicode версии 14.0 — базовая спецификация . Персонажи частного использования.
- ^ ab «Юникод 1.0.1» (PDF) . Стандарт Юникод . 03.11.1992. Архивировано (PDF) из оригинала 2 июля 2016 г. Проверено 9 июля 2016 г.
- ^ abcd «База данных символов Юникода». Стандарт Юникод . Проверено 26 июля 2023 г.
- ^ abc «Перечисленные версии стандарта Unicode». Стандарт Юникод . Проверено 26 июля 2023 г.
- ^ «3.5: Зона частного использования» (PDF) . Стандарт Unicode, версия 1.0, том 1 . Консорциум Юникод . 1991. стр. 118–119. ISBN 0-201-56788-1. Архивировано (PDF) из оригинала 21 октября 2021 г. Проверено 11 октября 2021 г.
- ^ ab «2.0: Изменения в Unicode 1.0» (PDF) . Стандарт Юникод, версия 1.1 . Консорциум Юникод . стр. 3–4. УТР №4. Архивировано (PDF) из оригинала 20 ноября 2021 г. Проверено 11 октября 2021 г.
- ^ Уистлер, Кен (2000). «Необходимые изменения в ISO/IEC 10646 относительно PUA». UTC /00-015. Архивировано из оригинала 23 июня 2021 г. Проверено 30 января 2021 г.
- ^ «База данных писем». Eki.ee. Архивировано из оригинала 21 мая 2018 г. Проверено 11 апреля 2013 г.
- ^ «Наборы символов: восточноазиатские символы: альтернативные сопоставления Юникода для символов MARC 21, назначенных области частного использования (PUA): спецификации MARC 21 для структуры записи, наборов символов и носителей обмена» . Библиотека Конгресса. 02 сентября 2004 г. Архивировано из оригинала 19 августа 2013 г. Проверено 11 апреля 2013 г.
- ^ "tunerfc.tn.nic.in" . тюнерfc.tn.nic.in. Архивировано из оригинала 29 июля 2010 г. Проверено 11 апреля 2013 г.
- ^ «Подобласть корпоративного использования Unicode, используемая Adobe Systems» . 22 октября 1998 года. Архивировано из оригинала 9 октября 2002 года . Проверено 12 мая 2021 г.
- ^ «NSOpenStepUnicodeReservedBase — Документация разработчика Apple» . Apple Inc. Архивировано из оригинала 6 ноября 2020 г. Проверено 16 октября 2020 г.
- ^ Apple Computer, Inc. (2005) [1994]. «CORPCHAR.TXT — реестр (внешняя версия) использования Apple символов корпоративной зоны Unicode». с03. Unicode Inc. Архивировано из оригинала 30 октября 2020 г. Проверено 16 октября 2020 г.
- ^ «Диапазон Unicode WGL4 от U+2013 до U+FB02» . Майкрософт . Архивировано из оригинала 17 июля 2014 г.
- ^ «SFM преобразует имена файлов HFS Macintosh в Unicode NTFS» . Поддержка Майкрософт . 24 февраля 2014 г. Архивировано из оригинала 27 мая 2016 г.
- ^ "ntfs.util.c". 2008. Архивировано из оригинала 07 августа 2018 г. Проверено 7 августа 2018 г.
Недопустимые символы имени файла NTFS кодируются [
sic
] с использованием символов Unicode частного использования SFM (Services for Macintosh).
- ^ «Диапазон символов между U + F020 и U + F0FF в области частного использования Unicode сопоставлен с символьными шрифтами в Richedit 4.1» . База знаний Майкрософт . Архивировано из оригинала 22 октября 2012 г.
- ^ «Обработка символов PUA в программном обеспечении Microsoft». СИЛ Интернешнл . 25 апреля 2003 г. Архивировано из оригинала 11 мая 2015 г. Проверено 4 марта 2014 г.
- ^ «Комментарий № 8: Ошибка № 651606 (круг друзей): Ошибки: Семейство шрифтов Ubuntu» . Панель запуска . 5 октября 2010 г. Архивировано из оригинала 17 октября 2020 г. Проверено 17 октября 2020 г.
- ^ «Комментарий № 2: Ошибка № 853855: Ошибки: Семейство шрифтов Ubuntu» . Панель запуска . 26 сентября 2011 г. Архивировано из оригинала 17 октября 2020 г. Проверено 17 октября 2020 г.
- ^ «Вопрос о плагине строки состояния Powerline на Stack Exchange, в котором упоминаются символы области частного использования» . Архивировано из оригинала 12 марта 2015 г. Проверено 22 марта 2015 г.
- ^ «Изображения, показывающие символы области частного использования в исправленных шрифтах Powerline» . Архивировано из оригинала 11 мая 2015 г. Проверено 22 марта 2015 г.
- ^ Ли, Ренжи (23 августа 2019 г.). «Предложение о добавлении дополнительных символов в блок «Графика для устаревших вычислений» UCS» (PDF) . Проверено 31 июля 2023 г.
- ^ "lmb-excp.ucm". Гитхаб . 10 февраля 2000 г. Архивировано из оригинала 25 января 2022 г. Проверено 23 апреля 2020 г.
- ^ «Anhang 2. Der Lotus Multibyte Zeichensatz (LMBCS)» [Приложение 2. Набор многобайтовых символов Lotus (LMBCS)]. Lotus 1-2-3 Версия 3.1 Referenzhandbuch [ Справочное руководство Lotus 1-2-3 Версия 3.1 ] (на немецком языке) (1-е изд.). Кембридж, Массачусетс, США: Lotus Development Corporation . 1989. стр. А2–1 – А2–13. 302168.
- ^ «CPGID 01445 (диаграмма)» (PDF) . РЕЕСТР: наборы графических символов и кодовые страницы . 2012 [2011]. СН 3-3220-050.
Область, показанная на диаграмме выше, представляет собой всего лишь 254 байта строки FF в плоскости 0F.
- ^ «CPGID 01445: IBM AFP PUA № 1» . РЕЕСТР: наборы графических символов и кодовые страницы . 2012 [2011]. СН 3-3220-050.
Область, показанная на диаграмме выше, представляет собой всего лишь 254 байта строки FF в плоскости 0F.
- ^ «CPGID 01449: PUA IBM по умолчанию» . Глобализация IBM: идентификаторы кодовых страниц . ИБМ . Архивировано из оригинала 16 сентября 2015 г.
IBM определила 195 позиций от U+F83D до U+F8FF для использования в качестве корпоративной зоны IBM и намерена последовательно использовать их внутри IBM всякий раз, когда возникает необходимость поддерживать целостность символов IBM.
- ^ IBM (1997). unicode.nam: позволяет указывать символы Юникода, используя имена, подобные IBM или PostScript .(Входит в состав Borgendale, Ken, инструментов кодовой страницы OS/2 и клавиатуры.)
- ^ «Настройка сопоставления символов для перевода имени файла SMB на томах» . 9 декабря 2021 г. Проверено 14 октября 2022 г.
- ^ "Шрифт Twitter Chirp" . Копировать и вставить дамп . Проверено 08 февраля 2022 г.
- ^ «Стандарт ECMA-48, пятое издание — июнь 1991 г.» (PDF) . §8.2.14 Прочие функции управления, §8.3.100, §8.3.101.
- ^ ISO/TC97/SC2 (1 октября 1983 г.). Набор управляющих символов C1 стандарта ISO 6429 (PDF) . ITSCJ/ IPSJ . ИСО-ИР -77.
{{citation}}
: CS1 maint: числовые имена: список авторов ( ссылка ) - ^ «Свойства символов главы 4» (PDF) . Стандарт Unicode версии 14.0 — базовая спецификация . Таблица 4-4.
- ^ «Сопоставление (внешняя версия) японской кодировки Mac OS с Unicode 2.1 и более поздних версий» . Архивировано из оригинала 31 августа 2021 г. Проверено 8 октября 2021 г.