Как обычный вопрос на форуме привёл к добавлению 4½ символов в Юникод
Несколько гиков добились своего
Оказывается, добавить символы в Юникод вполне реально, если потратить достаточно сил и времени. Следует только строго соблюдать процедуру и все правила.
Вчера произошло важное событие: консорциум Unicode опубликовал официальные спецификации нового стандарта Unicode 9.0. Наверное, больше всех радовался этому событию программист Теренс Иден (Terence Eden). Два с половиной года назад (3 декабря 2013 года) он опубликовал вопрос на популярном форуме для разработчиков Hacker News.
Каких полезных символов не хватает в Юникоде?
Теренс высказал идею, что наиболее очевидным кажется отсутствие знака «Питание». Знакомый всем символ определён в стандарте Международной электротехнической комиссии IEC 60417–5009 и примерно с середины 1970-х используется практически на каждом электронном устройстве, где имеется кнопка питания.
Единственным ответившим на вопрос был Джо Лоури (Joe Loughry), докторант Оксфордского университета, специалист по тестированию и оценке на соответствие сертификации компьютерных систем безопасности.
Джо Лоури согласился с топикстартером. Он указал на то, что в консорциуме Unicode существует установленная процедура по рассмотрению и стандартизации новых символов, и он хотел бы помочь в этом деле.
Джо Лоури создал репозиторий на Github, где публиковались и редактировались документы для подачи в консорциум Unicode. Он предположил, что этот репозиторий может стать примером для других энтузиастов, которые хотят корректно оформить заявку на добавление символов в Юникод.
Итак, Теренс Иден и Джо Лоури приступили к оформлению заявки (предложения) в Unocode и разработали шрифт. Активное участие в проекте принял Брюс Нордман (Bruce Nordman), один из авторов оригинального стандарта IEEE 1621.
Кроме упомянутого символа «Питание», Джо Лоури предложил объединить в общей заявке группу символов, определённых в стандарте IEC 60417 (он же ISO 7000:2012).
Это следующие символы:
- U+23FB POWER —
- U+23FC POWER ON-OFF —
- U+23FD POWER ON —
- U+23FE POWER SLEEP —
К ним решили добавить ещё один символ из стандарта IEEE 1621.
- U+2B58 POWER OFF —
После месяца тяжёлой работы и заполнения множества форм предложение всё-таки удалось отправить в консорциум Unicode, и его приняли к рассмотрению.
Чтобы поддержать своё предложение, активисты открыли сайт UnicodePowerSymbol.com, где тоже опубликовали предложение, аргументацию и выкладывали новости кампании по включению символов в Юникод.
После этого начался период почтовой переписки, консультаций, телефонных переговоров, конференций, технических обсуждений. Авторы предложения убеждали коллег, что новые символы соответствуют всем необходимым правилам: 1) это действительно корректные общепринятые символы; 2) есть убедительные доказательства их реального использования; 3) они не обременены ограничениями копирайта; 4) члены консорциума Unicode считают, что они будут полезным добавлением к стандартному набору.
Насчёт четвёртого пункта всё-таки выявились разногласия. Только два символа и всем нравились.
Насчёт символа развернулась дискуссия, потому что в Юникоде уже были несколько символов для «луны». Правда, ни один из них в точности не соответствовал предложенному: или угол неправильный, или отсутствовала семантика «Спящего режима». Так что в итоге приняли.
Оставались только и . В Юникоде по-настоящему много символов для прямой линии и круга.
После многочисленных дискуссий и голосования всё-таки решили, что ни один из существующих символов не подходит для знака «Включенное питание», так что стал новым символом.
А вот для как знака выключенного питания нашли подходящую альтернативу — круг (U+2B58)
Новое значение просто добавили к существующему символу — это то, что авторы называют »½ символа» в своём предложении.
В феврале 2014 года символы одобрила рабочая группа ISO 10646 Working Group 2 (JTC 1/SC 2/WG 2) на заседании WG2 #62 и рекомендовала Поправку 2 к стандарту ISO/IEC 10646:2014.
Прошло два томительных года ожидания с редкими звонками и запросами от заинтересованных сторон. Активисты вели переговоры с разработчиками свободных шрифтов, чтобы уговорить их добавить новые символы, когда их примут. Редактировали Википедию.
И вот наконец наступило счастливое утро 22 июня 2016 года.
Проснувшись с утра, Теренес Иден услышал о выходе новых спецификаций Unicode 9.0. И вот они — наши родные символы. Два с половиной года работы завершились успехом!
OMG! We did it!
— Terence Eden ⏻ (@edent) 22 июня 2016 г.
I helped get new characters into Unicode 9!
Will update https://t.co/lYZDjMoQR1 when I stop dancing! pic.twitter.com/E6FnAT4xEm
Счастливые разработчики предлагают использовать открытое руководство, если кто-то хочет повторить этот путь и включить в стандарт Юникод другие символы.
Для разработчики шрифтов есть образцовые шрифты с новыми символами, которые разработаны во время подготовки заявки в консорциум Unicode.
Все пользователи имеют право требовать от разработчиков своих операционных систем и программного обеспечения поддержки новых символов , , , и из стандарта Unocode 9.0!
В таблице указаны коды HTML Escape для 4½ новых символов.
22 июня 2016 года они стали частью Юникода и теперь могут свободно использоваться везде.