Буквы с акцентами и комбинирующиеся акценты

Вот четыре вида уникодовых символов:

Четыре вида уникодовых символов, о которых пойдёт речь

Рассмотрим последние два повнимательнее.

Буква с акцентом — это единый символ, содержащий букву и какой-нибудь диакритический знак. Абстрагируясь от лингвистических нюансов и сконцентрировавшись только на технической стороне вопроса, будем считать такими русские буквы й, ё; английские i и j; немецкие ä, ö, ü; испанскую ñ и другие подобные им.

Комбинирующийся акцент — это акцент с отрицательным левым полем. Смысл его в том, что, поставленный после буквы, он оказывается над ней. Это позволяет приделывать любые акценты к любым буквам. В зависимости от продвинутости вашей операционной системы, браузера и шрифта, вам удастся или не удастся увидеть небывалые х-краткое и щ под ударением: х̆ и щ́.

Буквы с готовыми акцентами прекрасны: кто-то рисовал их, ставил акценты в нужные места; убеждался, что всё попадает куда следует.

Комбинирующиеся акценты ужасны: они висят слишком высоко, чтобы случайно не прилипнуть к какой-нибудь букве, но при этом всё равно прилипают и к заглавным, и к буквам со значительными выносными элементами; в случае с широкими буквами они всё время оказываются правее середины.

В уникоде нет готовых символов вроде: «русская е с ударением», но зато есть «латинская e с акутом». Чтобы ставить ударéния в русском тéксте, нужно не стесняясь брать символы из других алфавитов с заранее приделанными акцентами, если такие есть.

Некоторые видят в этом отступление от знаменитой семантики и настаивают на том, чтобы всё же использовать русскую букву с комбинирующимся акутом. Я считаю, что это глупый формализм, не достойный внимания.

В Типографской раскладке 2.0 и на Виндоусе, и на Маке, можно будет вводить буквы с акцентами как одиночными символами, так и комбинацией. В Раскладке будут работать как минимум семь акцентов: акут (острое ударение), гравис (тяжёлое ударение), бреве («кратка»), умляут или диэрезис, тильда, шапочка (как на цифре 6), птичка (чешская штука). Не исключено, что я добавлю также надстрочные кружок и точку. Все имеющиеся с этими акцентами латинские и кириллические одиночные символы будут работать; символы же, которые нет, можно будет собрать с помощью комбинирования.

Как это будет работать я скоро расскажу, а раскладок осталось ждать совсем недолго.

Дальше
8 комментариев
Сергей 2008

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

Александр 2008

Проблема в том, что «е с ударением» (é) — это не е. С точки зрения машины это код с другим символом, он не воспринимается ею как русская буква, увы.
Это, в частности, создает проблемы с поиском по тексту:
http://ilyabirman.ru/meanwhile/search/udarenija!/
вот эта заметка не находится. А должна бы, по идее.

Александр Симонов 2008

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

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

Artemy Tregubenko 2008

о да, вердана, как раз вчера жаловался на неё: http://blog.arty.name/2008/a-farewell-to-verdana/

а вообще должно быть не очень сложно автоматизировать превращение буквы+комбинирующегося акута в букву с акутом при наличии такой в юникоде. Вроде бы в питоне это уже встроено.

Kalan 2008

«Х краткое» не такое уж и небывалое, посмотреть хотя бы на http://tema.ru/travel/ :)

Всё же не соглашусь по поводу копирования символов из других алфавитов. Семантика — не самоцель, а средство сделать работу с текстом более удобной. Если важно, как текст будет выглядеть — то тогда, конечно, можно тырить из других алфавитов всё что угодно и как угодно. Если мы проводим над текстом какие-либо операции, надёжнее сделать «правильно» — поставить комбинирующийся акцент.

bes island 2008

Я полагаю, что с точки зрения знаменитой семантики было совершенно ублюдочным, если вы извините меня за столь нелестный отзыв, отличать кириллическую букву «о» от латинской буквы «o» и т. д.

Отсюда — все (многие) проблемы.

smmurf 2008

Замена русских букв аналогичными нерусскими — предложение, не достойное внимания. В погоне за внешней привлекательностью теряется смысл, а значит задача не выполнена. Русская е — это именно русская е, а не «символ из другого алфавита с заранее приделанными акцентом». Уже привели пример с поиском, когда привлекательность идет в ущерб функциональности и удобству. Пожалуй, единственный случай, когда можно этим пренебречь — подготовка текста к печати и только к печати, если в электронном виде он использоваться не будет.
Задача дизайнера — «найти наиболее удобный, простой и красивый способ решения поставленной задачи, не потеряв по дороге смысл». Последнее же замечание вы успешно забываете.

Pure_BY 2008

Соглашусь со всеми комментаторами, в частности с smmurf (№7). В тексте для печати, да, можно брать буквы с ударением из других алфавитов,, потому что остаётся исключительно визуальная составляющая.

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

Мои книги