Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

Юникод отстой

Автор Nevik Xukxo, октября 17, 2011, 15:39

0 Пользователи и 1 гость просматривают эту тему.

Python

Цитата: Python от октября 18, 2011, 21:09
ä — два символа
ä — один
У меня не превращается почему-то.
Глазами вижу, что верхний диерезис набекрень. Посмотрим, что будет после отправки сообщения...

Р.Ѕ. таки два сверху один снизу.
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Искандер

Цитата: Python от октября 18, 2011, 21:18
В приведенной Вами цитате уже скомпозились.
и правда. Чо ж то за пипец.
А вы быстрым ответом, или полным пользуетесь? Может в этом разлика?
"Niech żyją POLACY!! Ponieważ polacy są rasej nadczłowieków. Od nich jest przyszłość planety. Oni przeżyją nawet wojną atomowę, dlatego, że polacy są wieczni, bo chtoniczni. I dadzą potomstwo, które też będzie polakami i polkami. Niech żyjemy, hura!.." (c) Awwal12

Искандер

Цитата: Python от октября 18, 2011, 21:21
Глазами вижу, что верхний диерезис набекрень. Посмотрим, что будет после отправки сообщения...
В том сообщении, где два разных варианта у меня на экране абсолютно идентичные символы. до пикселя на Ктрл++++++++++++
"Niech żyją POLACY!! Ponieważ polacy są rasej nadczłowieków. Od nich jest przyszłość planety. Oni przeżyją nawet wojną atomowę, dlatego, że polacy są wieczni, bo chtoniczni. I dadzą potomstwo, które też będzie polakami i polkami. Niech żyjemy, hura!.." (c) Awwal12

Python

И тем, и другим, вроде бы. Предполагаю, что раз у меня они не композятся, а у Вас композятся, то это фокусы разных браузеров.
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Искандер

Цитата: Python от октября 18, 2011, 21:24
И тем, и другим, вроде бы. Предполагаю, что раз у меня они не композятся, а у Вас композятся, то это фокусы разных браузеров.
Но в первом вашем сообщении у меня всё на месте как было набрано.
"Niech żyją POLACY!! Ponieważ polacy są rasej nadczłowieków. Od nich jest przyszłość planety. Oni przeżyją nawet wojną atomowę, dlatego, że polacy są wieczni, bo chtoniczni. I dadzą potomstwo, które też będzie polakami i polkami. Niech żyjemy, hura!.." (c) Awwal12

Python

Скорее всего, композение происходит в самом браузре при отправке данных формы. Причем, Опера 9 у меня так не делает.
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Искандер

Цитата: Python от октября 18, 2011, 21:31
Скорее всего, композение происходит в самом браузре при отправке данных формы.
От это да, по симптомам подходит.
"Niech żyją POLACY!! Ponieważ polacy są rasej nadczłowieków. Od nich jest przyszłość planety. Oni przeżyją nawet wojną atomowę, dlatego, że polacy są wieczni, bo chtoniczni. I dadzą potomstwo, które też będzie polakami i polkami. Niech żyjemy, hura!.." (c) Awwal12

Искандер

Кстати в этом нет особо ничего дурного. Хотя лучше бы этим процессом можно было руководить.
"Niech żyją POLACY!! Ponieważ polacy są rasej nadczłowieków. Od nich jest przyszłość planety. Oni przeżyją nawet wojną atomowę, dlatego, że polacy są wieczni, bo chtoniczni. I dadzą potomstwo, które też będzie polakami i polkami. Niech żyjemy, hura!.." (c) Awwal12

Demetrius

Цитата: Искандер от октября 18, 2011, 20:47
Цитата: Hellerick от октября 18, 2011, 20:15
Глифы — хранятся в шрифтах, способы набора — определяются раскладкой и IME, кодировка символов не имеет прямого отношения ни к тому, ни к другому.
Ну впринципе как-то так.
Единственный чоткий пример в юнике на ситуацию, когда глиф и код не связаны, что я знаю, это i+комбо-диакритика, для которой действительно используется другой глиф, чем для собственно i.
И да, не способы набора определяются раскладкой, а наоборот, изначально раскладки разрабатывались с оглядкой на набор. Сегодня наблюдается постепенный дрейф. Потихоньку-понемногу люди приучаются мыслить отдельной диакритикой и она появляется в новых раскладках. Особенно этому способствуют языки, использующие латинский алфавит и стопицот разных акутов/макронов/огоньков. Комбайнинг плотно вошёл в деванагори-и-Ко раскладки. Так что может быть когда-нибудь... Но специально к этому стремиться не стоит. Это само должно получаться так. Юникод же позволил мне сократить до стандартной клавы раскладку для хаама со всеми его ä á à ĉ ņ ļ ë ĝ å и прочими. Да это были комбайны. Вру, Ņ ja Ļ — не комбайны.
Dead keys и Compose были задолго до уникода, так что уникод к мышлению отдельной диакритикой непричем.

Demetrius

Цитата: Искандер от октября 18, 2011, 20:56
По хангылям не спец. Если кто кинется в мя описанием всей этой технологии с хангылями и деванаярами, я може чо и узнаю. А пока — не спец.
Да ничего там с хангылями нет страшного. Банально большая таблица. При вводе отдельных хангылей смотрится, какой код будет у составного, по таблице. Потом растеризатор смотрит шрифт, в шрифте составной прописан, скорее всего, через ссылки на отдельные. В общем, непонятно, зачем этот огород.

Цитировать
Цитата: Demetrius от октября 18, 2011, 20:41
Цитироватьюникод, оперирующий глифами
Незнание матчасти.
И цо же, пане, на уровне дви вы поставите таки в соответствие с кодами юникода?
Ничего не поставлю. Однозначного соответствия нет. Коды уникода—это коды уникода, а глифы—это глифы.

А какие глифы Вы поставите для кодов U+E01EF 'Variant selector-256', U+E0052 'Tag Latin capital letter R' или банально U+200B 'Zero width space'?

Цитата: Искандер от
Ну тогда видимо не все старые кодировки нужны, в юнике.
IMO совместимость со старыми кодировками не нужна вообще.

Цитировать
Цитата: Demetrius от октября 18, 2011, 20:41
Уникод и лаконичность кодировки несовместимы.

Включение прекомбинированных символов было обусловлено техническими причинами: сделать так, чтобы подмножество, которое можно использовать без реализации комбинируемой диакритики, было достаточно большим. То есть люди заранее готовились, что полностью уникод никто реализовывать не будет.
то есть вы предлагаете и для i вместо двух байт  использовать чатырэ?
Ну, i—это крайний случай, но почему нет? Все равно:
а) тексты в уникоде заранее известно, что фейлят по размеру относительно старых кодировок,
б) многие протоколы используют нонче сжатие,
в) это позволит уменьшить размер программ и шрифтов, чем освободит память.

Искандер

Цитата: Demetrius от октября 18, 2011, 22:54
Dead keys и Compose были задолго до уникода, так что уникод к мышлению отдельной диакритикой непричем.
А где я утверждал что-то отличное?

Цитата: Demetrius от октября 18, 2011, 23:12
Да ничего там с хангылями нет страшного. Банально большая таблица. При вводе отдельных хангылей смотрится, какой код будет у составного, по таблице. Потом растеризатор смотрит шрифт, в шрифте составной прописан, скорее всего, через ссылки на отдельные. В общем, непонятно, зачем этот огород.
Ну тогда нужен выпил лишнего, я ж не против.

Цитата: Demetrius от октября 18, 2011, 23:12
А какие глифы Вы поставите для кодов U+E01EF 'Variant selector-256', U+E0052 'Tag Latin capital letter R' или банально U+200B 'Zero width space'?
И то правда... Но вот за последний мне интересно — зачем он нужен в юнике?

Цитата: Demetrius от октября 18, 2011, 23:12
Ну, i—это крайний случай, но почему нет? Все равно:
а) тексты в уникоде заранее известно, что фейлят по размеру относительно старых кодировок,
б) многие протоколы используют нонче сжатие,
в) это позволит уменьшить размер программ и шрифтов, чем освободит память.
Ололо. Вы можете научить людёв набирать ä из двух элементов, но i... ***!
"Niech żyją POLACY!! Ponieważ polacy są rasej nadczłowieków. Od nich jest przyszłość planety. Oni przeżyją nawet wojną atomowę, dlatego, że polacy są wieczni, bo chtoniczni. I dadzą potomstwo, które też będzie polakami i polkami. Niech żyjemy, hura!.." (c) Awwal12

Demetrius

Цитата: Искандер от октября 19, 2011, 08:38
Цитата: Demetrius от октября 18, 2011, 23:12
А какие глифы Вы поставите для кодов U+E01EF 'Variant selector-256', U+E0052 'Tag Latin capital letter R' или банально U+200B 'Zero width space'?
И то правда... Но вот за последний мне интересно — зачем он нужен в юнике?
Если честно, хз. Может, лигатуры разбивать? Хотя в чем его отличие от zero width non-joiner? :what:

Можно для китайского можно заюзать. Поразделял ими текст на слова: и парсить удобно, и пользователям не мешает читать.

Кстати, думаю, заюзаю я его в своем личном формате словарика. Слоги разбивать.

Цитировать
Цитата: Demetrius от октября 18, 2011, 23:12
Ну, i—это крайний случай, но почему нет? Все равно:
а) тексты в уникоде заранее известно, что фейлят по размеру относительно старых кодировок,
б) многие протоколы используют нонче сжатие,
в) это позволит уменьшить размер программ и шрифтов, чем освободит память.
Ололо. Вы можете научить людёв набирать ä из двух элементов, но i... ***!
При чем набор к кодировке?

Ввод двух кодов по нажатию одной клавиши—гораздо меньшее изменение, чем повсеместный перепил однобайтовой кодировки в двухбайтовую или добавление комбинируемой диакритики. Технически без проблем реализуется.

Как и удаление двух кодов, если второй диакритика. GNOME уже так делает.

Искандер

Цитата: Demetrius от октября 19, 2011, 08:56
Можно для китайского можно заюзать. Поразделял ими текст на слова: и парсить удобно, и пользователям не мешает читать.
Так не используют же...

Цитата: Demetrius от октября 19, 2011, 08:56
чем повсеместный перепил однобайтовой кодировки в двухбайтовую
Ну два байта — дело решённое.

Цитата: Demetrius от октября 19, 2011, 08:56
Как и удаление двух кодов, если второй диакритика.
и замена на прекомб
"Niech żyją POLACY!! Ponieważ polacy są rasej nadczłowieków. Od nich jest przyszłość planety. Oni przeżyją nawet wojną atomowę, dlatego, że polacy są wieczni, bo chtoniczni. I dadzą potomstwo, które też będzie polakami i polkami. Niech żyjemy, hura!.." (c) Awwal12

Demetrius

Цитата: Искандер от октября 19, 2011, 09:28
Цитата: Demetrius от октября 19, 2011, 08:56
Можно для китайского можно заюзать. Поразделял ими текст на слова: и парсить удобно, и пользователям не мешает читать.
Так не используют же...
В уникоде много такого, что не используют.

Да и в китайском деление на слова не стандартизировано. Иванов с Поливановым вон считали, что вещи типа teng1-yam1ngok6 (ting1-yin1yue) 'слушать музыку'—это одно слово-композит, потому что teng1 без дополнения не употребляется.

Цитировать
Цитата: Demetrius от октября 19, 2011, 08:56
чем повсеместный перепил однобайтовой кодировки в двухбайтовую
Ну два байта — дело решённое.
Сомнительно. Комбинированная диакритика, символы выше U+FFFF и невидимые символы сводят на нет все преимущества двухбайтной кодировки (что число символов равно числу слов). IMHO UTF-8 для уникода предпочтительнее.

Цитировать
Цитата: Demetrius от октября 19, 2011, 08:56
Как и удаление двух кодов, если второй диакритика.
и замена на прекомб
IMHO прекомбы надо выбросить. Тогда отпадает необходимость в процессе нормализации.

Искандер

Цитата: Demetrius от октября 19, 2011, 10:34
IMHO прекомбы надо выбросить. Тогда отпадает необходимость в процессе нормализации.
Вот люди то на планете удивятся, википедируя "кернинг".
"Niech żyją POLACY!! Ponieważ polacy są rasej nadczłowieków. Od nich jest przyszłość planety. Oni przeżyją nawet wojną atomowę, dlatego, że polacy są wieczni, bo chtoniczni. I dadzą potomstwo, które też będzie polakami i polkami. Niech żyjemy, hura!.." (c) Awwal12

Demetrius

Цитата: Искандер от октября 19, 2011, 10:59
Цитата: Demetrius от октября 19, 2011, 10:34
IMHO прекомбы надо выбросить. Тогда отпадает необходимость в процессе нормализации.
Вот люди то на планете удивятся, википедируя "кернинг".
При чём комбинируемая диакритика к кернингу?

Извините, не сдержался. Шрифт подобран в тон Вашим репликам.

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

А неполные они именно из-за монстрообразности. А монстрообразность в том числе из-за прекомбов.

Тайльнемер

Что касается i, то я бы сделал так:

Диакритика только комбинированная, за исключением не-турецкого i, то есть:

(1) i — отдельный символ LATIN SMALL LETTER I
(2) I — отдельный символ LATIN CAPITAL LETTER I
(3) ı — отдельный символ LATIN SMALL LETTER DOTLESS I
(4) I — отдельный символ LATIN CAPITAL LETTER DOTLESS I
(5) i — составляется из (3) и COMBINING DOT ABOVE
(6) İ — составляется из (4) и COMBINING DOT ABOVE

В турецком и азербайджанском использовать только (3)—(6), в остальных языках — (1) и (2).
Это делает преобразование регистра независимым от языка.
При наложении дополнительной верхней диакритики у (1) точка исчезает, а у (5) и (6) — нет.
При сочетании 'f' c (1), образуется лигатура fi; а с (5) — не образуется.

Hellerick

+1

Тайльнемер имеет наглость публиковать мои мысли.

Vertaler

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

α) создание 7) LATIN SMALL LETTER VIETNAMESE I и 8) LATIN CAPITAL LETTER VIETNAMESE I,
β) Перерисовку символа ỉ,
γ) добавление новых, правильных ìÌ íÍ ĩĨ. На этот раз уже с маюскулами.
Стрч прст в крк и вынь сухим.

DarkMax2

Цитата: Vertaler от октября 19, 2011, 13:36
В смысле, что точка по понятиям должна сохраняться у минускула под диакритиками.
Почему это?
Tej wojny nikt za nas nie wygra! © Wiedźmin III
Коли зчинять лемент: "Хто ж знав?!" — відповімо: "Ми".

З моїх снів ти утечеш над ранок,
Терпка, як аґрус, солодка, як біз.
Хочу снить чорні локи сплута́ні,
Фіалкові очі, мокрі від сліз.

Vertaler

Цитата: DarkMax2 от октября 19, 2011, 13:50
Цитата: Vertaler от октября 19, 2011, 13:36
В смысле, что точка по понятиям должна сохраняться у минускула под диакритиками.
Почему это?
А почему небо голубое?
Стрч прст в крк и вынь сухим.

DarkMax2

Tej wojny nikt za nas nie wygra! © Wiedźmin III
Коли зчинять лемент: "Хто ж знав?!" — відповімо: "Ми".

З моїх снів ти утечеш над ранок,
Терпка, як аґрус, солодка, як біз.
Хочу снить чорні локи сплута́ні,
Фіалкові очі, мокрі від сліз.

Oleg Grom

Цитата: Demetrius от октября 19, 2011, 08:56
GNOME уже так делает.
Тоже заметил эту фичу. Оно, конечно, прикольно, но что делать, если влепил лишний диакритик и надо его удалить, оставив исходную букву?

Hellerick

Цитата: Vertaler от октября 19, 2011, 13:36
В смысле, что точка по понятиям должна сохраняться у минускула под диакритиками.

На практике это сейчас реализуется?
Пруф бы.

Искандер

Цитата: Demetrius от октября 19, 2011, 12:20
При чём комбинируемая диакритика к кернингу?
В том, что это работает только с ненулевым кернингом разумеется, вы вообще говоря процесс набора текста представляете вгде?

Цитата: Demetrius от октября 19, 2011, 12:20
Извините, не сдержался. Шрифт подобран в тон Вашим репликам.
Абсолютно изумительно подобрали. В кои веки вижу сей шрифт употреблённым к месту и ко времени.

Цитата: Demetrius от октября 19, 2011, 12:20
По уникоду прекомбы и символы с комбинируемой диакритикой должны выглядеть одинаково. В том числе и их кернинг. То, что на некоторых реализациях уникода они выглядят по-разному—это есть неполная реализация уникода.

А неполные они именно из-за монстрообразности. А монстрообразность в том числе из-за прекомбов.
Так вот неполная реализация возможностей шрифтов радует нас во всех вообще програмных продуктах этих наших имбицилов. И это печально, да.
Но.
Смысл последнего предложения от меня старательно ускользает.

Цитата: Тайльнемер от октября 19, 2011, 12:53
Что касается i, то я бы сделал так:

Диакритика только комбинированная, за исключением не-турецкого i, то есть:
самое смешное, что по логике шрифта как такового для турецкого ı и базового элемента î ï í ì должны использоваться разные глифы. Самое логичное -- кодировать их разными кодами.
"Niech żyją POLACY!! Ponieważ polacy są rasej nadczłowieków. Od nich jest przyszłość planety. Oni przeżyją nawet wojną atomowę, dlatego, że polacy są wieczni, bo chtoniczni. I dadzą potomstwo, które też będzie polakami i polkami. Niech żyjemy, hura!.." (c) Awwal12

Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр