Найти в Дзене
InfaKonst

Что нужно знать про Дзен. История Юникода. Как поставить ударение над буквой и вставить символы в блог и Word

У «Яндекс.Дзен» только простой редактор с минимальным функционалом, но даже он может многое. Например, поддерживает Юникод, позволяющий отобразить знаки практически всех письменных языков мира, математические, химические и другие спецсимволы, ударения и диакритические знаки
Оглавление

У «Яндекс.Дзен» только простой редактор с минимальным функционалом, но даже он может многое. Например, поддерживает Юникод, позволяющий отобразить знаки практически всех письменных языков мира, математические, химические и другие спецсимволы, ударения и диакритические знаки.

Благодаря Юникоду (Unicode) возможно корректное отображение букв и знаков пунктуации из различных языков на одной странице. Он очень удобен: пользователи смогут читать вашем статьи в блоге на Дзене по всему миру, и на каждом компьютере и смартфоне с поддержкой Юникода тексты будет показываться точно так, как вы задумали, на любом языке с диакритическими знаками или иероглифическим письмом.

История Юникода

Юникод. Источник фотографии — «Яндекс.Картинки»
Юникод. Источник фотографии — «Яндекс.Картинки»

В 1950-х годах компьютеры были несовместимы друг с другом даже в рамках одной компании-производителя или государства и занимали целые специально построенные здания. Каждая фирма и конструкторское бюро разрабатывало свою собственную модель, которая создавались для решения конкретных задач. Для каждой решаемой задачи формировалась необходимая таблица символов, и проектировались устройства ввода/вывода информации. В этот период начинают формироваться первые компьютерные сети, соединяющие в себе несколько компьютеров. Тогда и встал вопрос об унификации сигналов и информационных символов, чтобы результаты вычислений одних компьютеров можно было использовать на других компьютерах сети, они должны были обладать одинаковыми таблицами символов.

Первую крупномасштабную компьютерную сеть SAGE (Semi-Automatic Ground Environment), объединившую радарные станций США и Канады, создали в 1958 году, а в 1962 году компания IBM сформирует два главных принципа для развития собственной линейки компьютеров:

  • Компьютеры должны стать универсальными. Переход от производства узкоспециализированных компьютеров к машинам, которые могут решать разные задачи.
  • Компьютеры должны стать совместимыми друг с другом, то есть должна быть возможность объединять несколько компьютеров в сеть и использовать данные с одного компьютера на другом.

И в 1964 году появились линейка моделей IBM System/360. Впервые была создана линейка компьютеров, от малых к бо́льшим, от низкой к высокой производительности, все модели которой использовали один и тот же набор команд. Компьютеры состояли из совместимых модулей, которые различались по производительности и стоимости, что позволило заказчикам гибко подходить к выбору компьютера. Эта особенность позволяла приобрести недорогую модель, после чего с ростом компании обновиться до более крупной системы, без необходимости переписывать программное обеспечение.

Такое решение привело к появлению огромной новой отрасли по производству IBM-совместимых компьютеров и комплектующих. Архитектура IBM/360 была настолько удачной, что стала де-факто промышленным стандартом вплоть до сегодняшнего дня, многие другие фирмы стали выпускать совместимые с компьютеры. IBM System/360 поставлялись и в СССР, где стали выпускать аналогичные компьютеры — машины серии ЕС ЭВМ.

Позже, с развитием элементной базы микроэлектроники в 70-х годах (кстати, первая ламповая микросборка появилась ещё в 30-х), компьютер стал умещаться на столе и в начале 80-х годов появилась модель XT линейки IBM PC, унаследовавшая концепцию архитектуры IBM System/360. Всё это привело к больше́му распространению компьютеров в мире. Эти строки я пишу спустя 40 лет на дальнем потомке линейки IBM PC, персональном компьютере, собранном в современной России из китайских комплектующих.

Таблица символов ASCII. Источник фотографии — «Яндекс.Картинки»
Таблица символов ASCII. Источник фотографии — «Яндекс.Картинки»

Компьютеризация и развитие средств обмена текстовой информацией потребовало разработки единого стандарта кодирования для передачи и хранения информации. Такой стандарт разработали в США в 1963 году. Таблицу из 128 символов назвали ASCII — American Standard Code for Information Interchange (Американский стандарт кодов для обмена информацией).

Были разработаны языки программирования, позволившие перенос программ в исходных кодах на компьютеры с совершенно другой архитектурой. В 90-х годах я программировал задания на компьютере Robotron и приносил распечатки в МТУСИ, где набивал их на XT. Позже нас перевели в компьютерный класс с 486SX2 с 4 мегами оперативки, где крутилась Windows 95 и новейший интерпретатор Delphi 2.0.

Шрифты и кодовые таблицы

Символы на экране вашего компьютера и смартфона формируются на основе наборов векторных форм (глифов) всевозможных знаков разных начертаний, которые находятся в файлах со шрифтами, которые установлены на вашем компьютере и кода, который позволяет найти в файле шрифта именно тот символ, который нужно будет вставить в текст. За векторные формы отвечают шрифты, а за кодирование символов — операционная система и используемые в ней программы.

Программа, отображающая этот текст на экране (ОС, текстовый редактор, браузер), при разборе кода считывает кодировку очередного знака и ищет соответствующую ему векторную форму в нужном файле шрифта, который подключен для отображения данного текстового документа. Для того, чтобы закодировать любой нужный нам символ, должно быть выполнено два условия — векторная форма этого знака должна быть в используемом шрифте и этот символ можно было бы закодировать в расширенных кодировках ASCII в один байт.

ASCII базовая компьютерная кодировка текста для латиницы. Она описывает первые 128 символов из наиболее часто используемых англоязычными пользователями — латинские буквы, арабские цифры и знаки препинания. Еще в ASCII попадали некоторые служебные символы — скобки, решетки, звездочки и т.п. С помощью одного байта информации можно закодировать не 128, а 256 различных значений (2⁸ = 256), поэтому вслед за базовой версией появился целый ряд расширенных кодировок ASCII, в которых можно было кроме 128 основных знаков закодировать еще и символы национальной кодировки, это и были кодовые страницы.

К концу 1980-х годов стандартом для компьютеров стали 8-битные кодировки, которых было множество, и постоянно появлялись новые. Это объяснялось расширением круга поддерживаемых языков и стремлением создавать кодировки, частично совместимые между собой. Например, в нашей стране применялись несколько альтернативных кодировок для русского языка, обусловленных эксплуатацией западных программ, созданных для кодировки IBM CP437. Был ещё и транслит — запись текста с помощью латинского алфавита, также могли применяться цифры и иные доступные на клавиатуре компьютера знаки (СМСки и сейчас так отправляют).

Таблицы кодировок кириллических символов. Источник фотографии — «Яндекс.Картинки»
Таблицы кодировок кириллических символов. Источник фотографии — «Яндекс.Картинки»

Первой появилась расширенная версия ASCII — кодировка CP866 (DOS), в которой была возможность использовать символы русского алфавита, её начало полностью совпадает с базовой версией (128 символов латиницы), а последующие 128 знаков позволяли закодировать символы кириллицы и псевдографику. Ей на смену пришла CP1251 из Windows 95. В кодировке IBM CP866 много псевдографики, тут дело в том, что эта кодировка разрабатывалась для консольных текстовых операционных систем, в те годы, когда ещё не было графических операционок. Псевдографика позволяла разнообразить оформление текстов и рисовать таблицы.

Кодировка КОИ8 появилась в 1974, её название означает «Код обмена информацией, 8 бит», а модификацию KOI8-R для интернет-браузеров была разработана в 1993 году. Кодировку создали из фонетической версии латиницы, в результате русские кириллические буквы расположены в псевдолатинском порядке, а не в обычном кириллическом алфавитном, у них и другой регистр. Русские буквы расположены в тех же ячейках кодовой таблицы, что и созвучные им буквы латинского алфавита из первой части таблицы. Это было сделано для удобства перехода с русских символов на латинские путем отбрасывания всего одного бита (2⁷ = 128).

Из-за обилия кодировок появилось несколько проблем: неправильная раскодировка текстов, ограниченность набора символов, преобразование одной кодировки в другую и дублирования шрифтов. Например, из-за неправильной раскодировки в документе появлялись буквы иностранных языков или псевдографические символы, прозванных русскоязычными пользователями «кракозябрами». При попытке копирования текстов в другую систему все нестандартные символы превращались в «кракозябры». Проблема существует до сих пор. Решить её можно либо последовательным внедрением стандарта указания кодировки, либо внедрением общей для всех языков кодировки, которой и стал Юникод.

Для каждой кодировки приходилось создавался свой шрифт, даже если наборы символов в кодировках совпадали частично или полностью, и получалось дублирование символов в шрифтах. Проблему обходили путём создания больших шрифтов с множеством кодовых страниц, из которых впоследствии выбирались бы нужные для данной кодировки символы. Именно поэтому шрифты Юникода такие объёмные.

Различные символы Юникода. Источник фотографии — «Яндекс.Картинки»
Различные символы Юникода. Источник фотографии — «Яндекс.Картинки»

Юникод был предложен в 1991 году некоммерческой организацией «Консорциум Юникода» (англ. Unicode Consortium). В документах, закодированных Юникодом, могут соседствовать математические символы, буквы греческого алфавита, кириллицы и латиницы, символы музыкальной нотной нотации, японские иероглифы. И это — без ненужного переключение кодовых страниц как в ранних версиях операционных систем компьютеров и программах с 8-битными кодировками, такими как ASCII. В Windows Юникод появился в 2000 году.

В настоящее время универсальная кодировка UTF (16-битный Юникод) является преобладающей в Интернете и продолжает развиваться, уже сейчас в ней более 100 тысяч символов. Кроме букв и цифр, в Юникоде есть и множество других символов и иконок. В последних версиях кодировки в их число вошли смайлики и эмодзи, которые вы можете видеть в месседжерах.

Стандарт Юникода состоит из двух основных частей: универсального набора символов и семейства кодировок. Каждому символу кодировки ставится в соответствие код, уникальный для данного символа (кодовая точка). Это значение является частью таблицы отображения символов Юникода, содержимое которой находится под контролем «Консорциум Юникода». Кодовые точки состоят из префикса U+ (или обратной косой черты \), за которым следует шестнадцатеричный код символа.

Семейство кодировок определяет способы преобразования кодов символов для передачи в потоке или в файле. Комбинированные символы (например, Ä) могут разбиваться на компоненты (A с умляутом), а затем снова соединяться в своё исходное состояние. Т.е. символ Ä состоит из кодовых точек U+0041 (A) и U+0308 (умляут).

Коды в стандарте Юникод разделены на несколько областей. Область с кодами от U+0000 до U+007F содержит символы набора ASCII, и коды этих символов совпадают с их кодами в ASCII. Шрифты Юникод прямо совместимы со старыми (первые 128 символов). Далее расположены области символов других систем письменности, знаки пунктуации и технические символы. Часть кодов зарезервирована для использования в будущем. Под символы кириллицы выделены области знаков с кодами от U+0400.

Тексты на китайском, корейском и японском языках имеют традиционное написание сверху вниз, начиная с правого верхнего угла. Переключение горизонтального и вертикального написания для этих языков в Юникоде не предусмотрено. Наличие или отсутствие в Юникоде разных начертаний одного и того же символа в зависимости от языка. Нужно следить, чтобы текст всегда был правильно помечен как относящийся к тому или другому языку. Китайские иероглифы могут иметь разные начертания в китайском, японском (кандзи) и корейском (ханча), но в Юникоде они обозначаются одним и тем же символом (CJK-унификация), хотя упрощённые и полные иероглифы имеют разные коды.

Японская клавиатура от IBM. Источник фотографии — «Яндекс.Картинки»
Японская клавиатура от IBM. Источник фотографии — «Яндекс.Картинки»

Для ввода на компьютере текста на других языках используйте виртуальные клавиатуры с разными раскладками символов (как на телефонах, смартфонах и других умных устройствах на операционной системе Android (Linux)). В самом Линуксе есть утилита «Таблица символов», позволяющая отображать символы определённой системы письма или через консоль введите символ Юникода по его десятичному коду цифрами расширенного блока клавиатуры при зажатой клавише Alt.

Старая японская клавиатура от IBM, 408 клавиш :-) Каждая из которых рассчитана ещё на несколько иероглифов. Источник фотографии — «Яндекс.Картинки»
Старая японская клавиатура от IBM, 408 клавиш :-) Каждая из которых рассчитана ещё на несколько иероглифов. Источник фотографии — «Яндекс.Картинки»

В восточных языках с иероглифическим письмом используют десятки тысяч иероглифов. Поэтому, в текстах на китайском, корейском и японском языках иероглифы вводиться на виртуальной клавиатуре через ромадзи (транскрипцию на латинице). Например, печатаете японское слово на хирагане (одна из двух слоговых азбук), после нажимаете «пробел» и программа выдаёт варианты написания кандзи (иероглифами).

Современный ввод на японском языке. Источник фотографии — «Яндекс.Картинки»
Современный ввод на японском языке. Источник фотографии — «Яндекс.Картинки»

Для смартфона есть способ проще. Открываете виртуальную клавиатуру, при нажатии на кнопку с тремя точками появляется кнопка «Перевод». Нажимаем на эту кнопку и всё! Перевод осуществляется Google в автоматическом режиме, пишите любом языке. Но автоматическом перевод часто вызывает смех из-за многозначности слов.

Вставка в текст ударе́ния, диакритических, математических, химических и других спецсимволов

В операционной системе Windows нажмите «Пуск» — «Программы» — «Стандартные» — «Служебные» — «Таблица символов» (или, например, «Панель математического ввода»). В результате откроется таблица с векторными формами всех установленных у вас в системе шрифтов. Если вы выберете в «Дополнительных параметрах» набор знаков Юникод, то сможете увидеть для каждого шрифта в отдельности весь ассортимент входящих в него символов. Скопируйте их, и через буфер обмена вставьте нужный символ в текст.

Вставка символов Юникода в Word возможна тремя разными способами, они актуальны для любой версии программы. Поддержка Юникода впервые появилась в Office 2000.

Внимание! Проверка орфографии в Word не пропускает слова с ударением и подчеркивает их красной волнистой линией, считая написанными с ошибками. Для того, чтобы не выдавалась ошибка при вставке диакритических знаков и слов на других языках, измените язык документа на язык вводимого слова. Символы Юникода вставляются нормально, без ошибок, на них проверка не ругается.

Способ 1: Комбинация на клавиатуре

Комбинация клавиш Alt+X. Источник фотографии — «Яндекс.Картинки»
Комбинация клавиш Alt+X. Источник фотографии — «Яндекс.Картинки»

Самый простой вариант для вставки, например для написания буквы с ударением – комбинация клавиш Alt+X. Поставьте курсор после буквы, на которой будет делаться ударение, слитно с ней напишите цифры «301» (код символа прямого ударения в Юникоде) и нажмите комбинацию кнопок Alt+X. После нажатия число «301» пропадёт и на нужной букве появится знак ударения. Всё получилось! В редакторах Alt+X выполняет и обратное преобразование.

Если вам нужно обра̀тное ударение используйте числовой код «300» (ударение с наклоном влево). Для вставки диакритических знаков, например умляутов, используйте латинскую букву и код 308. Можно также вставить буквы из расширенной латиницы.

Способ 2: Через клавишу Alt и цифровую клавиатуру

Комбинация клавишы Alt и цифровой клавиатуры. Источник фотографии — «Яндекс.Картинки»
Комбинация клавишы Alt и цифровой клавиатуры. Источник фотографии — «Яндекс.Картинки»

Нажмите клавишу Num Lock и включите дополнительную клавиатуру (внимание, она есть только у персонального компьютера, на ноутбуке таких клавиш нет) расположенную справа. Загорится зеленый световой индикатор в углу клавиатуры (см. рисунок выше). Вводите слово и прервитесь после написания нужной буквы (курсор мигает около ударной буквы).

Далее зажимаем клавишу Alt и не отпуская её вводим число «769» (десятичное значение кода символа в Юникоде) с помощью дополнительной цифровой клавиатуры (это действует во многих программах Windows). Верхний ряд цифр на клавиатуре, который находится над буквами, не сработает. После того как ввели число «769», отпускаем Alt и видим слово с правильным ударением. Выключаем дополнительную клавиатуру, индикатор в углу клавиатуры гаснет.

Способ 3: Через меню «Символы»

Вставка ударения через меню «Символы». Скриншот автора
Вставка ударения через меню «Символы». Скриншот автора

Это несколько более сложный способ. Поставьте курсор после буквы, на которую будет падать ударение. Перейдите в меню Word на вкладку «Вставка», подменю «Символы» нажмите кнопку «Символ» и выберите пункт «Другие символы».

В Word 2000, XP и 2003 нажмите «Вставка» и в выпадающем меню выберите «Символ». Далее полностью повторяйте действия для более новых версий Word. В открывшемся окне выберите набор символов «Объединённые диакритические знаки», после чего необходимо нажать на необходимый знак ударения или другой спецсимвол и завершите вставку кнопкой «Вставить». Если вы уже использовали знак ранее, он появится в быстром доступе на панели «Другие символы».

Подробнее об оформлении текстов читайте в следующей статье.

О статьях на этом канале

Данная статья уже 8 в серии «Что нужно знать про Дзен». Предыдущие статьи:

  1. Что нужно знать про Дзен. История Юникода. Как поставить ударение над буквой и вставить символы в блог и Word

Читайте также статью «Об этом канале», и серию о лотереях — «Улыбка удачи и история игр. Бывает ли большой выигрыш в лотереях? Личный опыт игры в «Столото»» и «Улыбка удачи или оскал фортуны? Психологические аспекты зависимости от игр», которую я скоро продолжу.

Следите за публикациями. Если вам понравился материал, пожалуйста, поддержите лайком и подпишитесь на канал :-)