Как стать автором
Обновить

Когда есть разница регистров, но это не верхний и не нижний регистры?

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров7.1K
Всего голосов 40: ↑40 и ↓0+62
Комментарии39

Комментарии 39

Я не знаю никого кто использует диграф dz, все пишут две буквы. А многие сербы вообще не заморачиваются и вместо букв "c", "ć", "č" пишут "с". Такая же ситуация и с остальными буквами, где есть диакритические символы.

А как dz вводится с клавиатуры? Если это сложнее, чем буквы по отдельности, то причина тогда понятна.

Я даже не знаю как ввести этот символ, так как на сербской клавиатуре нет такой клавиши

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

давно уже всё придумано, называется "нормализация Юникода", библиотека ICU, появилась в 1999 году

А не проще ли было привести венгерский алфавит в соответствие Здравому Смыслу, а не вводить в Юникод всякую хрень? Если букву можно записать двумя буквами то это две буквы.

А вообще где можно почитать о всяких странностях Юникода, не закапываясь в стандарт? И не приходило ли кому в голову сделать "работу над ошибками" в виде альтернативной таблицы символов (да, здесь должна быть картинка про 17 конкурирующих стандартов - но с другой стороны ведь объективно там всякой фигни накопилось немало).

שָׁלוֹם, בּוֹקֶר טוֹב!

(Восклицательный знак должен стоять слева, но редактор Хабра не справился с Ивритом)

Насколько я знаю, китайские и японские тексты исторически записываются сверху вниз, столбцами. А Юникод это не учел, непорядок! Надо ввести еще код смены направления с горизонтального на вертикальное:)

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

Не понял при чем тут звуки. Во многих языках очень нетривиальные правила чтения слов, но при чем здесь Юникод? Претензия к тому, что составители венгерского алфавита зачем-то в алфавит (который есть набор букв, атомарных символов) ввели буквосочетания, а комитет Юникода это бездумно повторил. Если в языке есть устойчивое буквосочетание, это не значит что его нужно рассматривать как отдельную букву. В английском после Q обязательно идет U, но вводить букву QU никому в голову не пришло.

В английском после Q обязательно идет U, но вводить букву QU никому в голову не пришло.

Потому что есть sheqel, tzaddiq и еще много других слов, пришедших в английский из других языков.

Цадик и шекель? Но они разве через q пишутся в английском?

Iraq по-другому никогда не пишется.

Как один из вариантов. То, что пришло из латыни — c QU, а из идиша и французского — с Q. Потом начали менять на K для особо одаренных.

Вся система речи, письменности, грамматики это дремучее легаси с тысячами лет истории. Никаким новым "более лучшим и правильным" Юникодом это не исправить, всё равно будет костыль для легаси. Я за рефкторинг вместо костылей))

Что? Чего вы говорите?

[вдумайтесь о разнице звуков и написания этого вопроса и того, сколько звуков записано каким количеством букв]

Потому что большинство населения мира считает фонетическое письмо глупым пережитком родоплеменного устройства общества.

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

Я уверен что большинство населения мира вообще не задумывается о таких вещах и принимает языки, письменность и алфавит как данность, что-то незыблемое и об изменении чего даже думать кощунство.

писать символы -- это не то же самое, что говорить

А как же белорусский?

Изучаю сейчас немецкий язык. Подскажите, какой звук обозначается 4 буквами? Пока что не встречал подобных.

tsch = ч.

Borschtcht

Похоже на нашу пиццу.

А что с нашей пиццей? Те же самые две буквы.

Когда достаточно бы и одной.

А у борща не два Щ, тоже было бы достаточно "Borscht". Но я не знаю немецкий, может у этого есть причина.

По-английски — «borscht», а вот по-немецки — почему-то «Borschtsch». Особенности записи звуков. А вот по-испански — вообще «sopa de remolacha», если гуглопереводчик не врет...

Потому что по-немецки там "Боршч".

А не проще ли было привести венгерский алфавит в соответствие Здравому Смыслу, а не вводить в Юникод всякую хрень? Если букву можно записать двумя буквами то это две буквы.

В статье же сказано: чтобы обеспечить однозначность конвертации алфавитов. Про венгерский я не знаю, а, скажем, в сербском есть буквы Њ (мягкая Н), обычная Н, и Ј (соответствующая русскому Й). В латинице эти буквы записываются как NJ, N, J. Поэтому возникает неоднозначность при переводе латиницы в кириллицу, как трактовать этот NJ: как одну букву Њ или как НЈ. И да, есть слова, где такое буквосочетание присутствует. Использование единого юникодного символа для диграфа NJ позволяет различить эти ситуации.

По-хорошему, конечно, разработчики алфавита должны были сразу использовать неповторяющиеся буквы, скажем, ввести Ñ. Но имеем что имеем. А стандарт Юникод не диктует языкам, что они должны стать ёжиками, он лишь фиксирует существующие нормы. Хотя, конечно, на практике этими диграфами вряд ли кто-то пользуется; их даже на клавиатурах нет, насколько я знаю…

Как на счет русской буквы Ы? И если английская W ещё как минимум соединена визуально, то Ы уже нет. Для нас кажется нонсенсом разделить Ы на части, думаю для них dz также.

У нас нет буквы I в алфавите, она только в украинском есть. Потому Ы вроде как норм, дублирования в русском алфавите не происходит...

В казахском языке кириллический алфавит, в котором есть и Ь, и Ы, и І.

В белорусском языке тоже есть Ь, Ы, I, а ещё можно упомянуть диграфы ДЖ и ДЗ, которые иногда считают отдельными буквами.

А почему бы нам тогда не вспомнить историю буквы У, которая до Петра Первого обозначалась как диграф "оу" (Юникод сохранил следы этой традиции в символах Ꙋꙋᲈ и Ѹѹ), хотя "у" в отдельности нигде не встречалась? Почему бı нам не упростить эти странıе символı-лигатурı?

Шутка, если что.

Диграфную историю «оv» мы можем наблюдать в начертаниях «y» (от второй части) и в диграфе «ю» = «iov» (от первой части).

Кстати, «v» встречалась отдельно вплоть до начала XX в печатных гражданских (и тем более церковных) текстах (а в быту всё более заменялась на фонетические эквиваленты) в словах «мvро», «сvнодъ», «Моvсей» и прочих заимствованиях.

Шутка, если что.

А зря. Бездумно тащить легаси с видом, что так и должно быть, тоже не полезно.

не приходило ли кому в голову сделать "работу над ошибками" в виде альтернативной таблицы символов

Каждый раз на Хабре в статьях про странности Юникода. И я так спрашивал.

Ещё кто-то предлагал дельную (на мой взгляд) идею: можно всё нужное поместить в 2 байта. А как же десятки тысяч иероглифов? А они состоят из общих элементов и поэтому их можно делать составными.

Но это уже надо бы спросить китайских программистов как будет работаться с таким вариантом.

если ввести строку поиска «mad», то она не будет соответствовать «madzag» (что означает «верёвка»), потому что «dz» в «madzag» — это отдельная буква, а не «d», за которой следует «z»

Если кто-то решил перепроверить - нет, тут две отдельные буквы. Но в таблицах - да, один символ. :-)

Хотел проверить везде ли автор не поленился и использовал dz в тексте (спойлер: не везде), но наткнулся на забавную особенность поиска по тексту в Chrome: при поиске по диаграфу dz он, в том числе, находит буквосочетания dz. В Firefox такого нет - поиск работает строго.

Яндекс Браузер тоже находит буквосочетание, а ещё Dž.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации