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

Делаем свою кодировку

Автор fujhi, июля 17, 2012, 12:00

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

Bhudh

Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

fujhi

Этот аккаунт официально заброшен. Связаться со мной можно по всё тому же адресу, [email]dmymd@yandex.ru[/email]. Всем пока!

Тайльнемер

Цитата: fujhi от июля 17, 2012, 12:00
То есть введение одного только символа <комбинирующаяся трёхточечная вода слева> может сократить количество требуемых кодовых мест на 2497! (Хотя дальше выгода будет меньшей. Например, если ввести <комбинируемую 去 справа>, то в иероглифе 法 всё равно будет использоваться обычная 去.)
Выбрать, что будет выносится в комбинирующуюся диакритику, предлагаю статистически — если элемент используется в какой-то роли в N или более иероглифах, то ему выделяется соответствующий код.
Я ничего не понимаю в китайском :( поэтому мне сложно понять, что имеется в виду.
Правильно ли я понимаю, что вы предлагаете для каждого простого иероглифа (типа 口) ввести помимо основного код-пойнта ещё несколько дополнительных код-пойнтов, содержащих тот же иероглиф в роли диакритики того или иного типа?
Если так, то не проще ли выделить несколько код-пойнтов, обозначающих только тип диакритики, или тип разложения иероглифа на части, и представлять иероглиф в виде этого маркера типа и составных частей?
___________________

Кстати, как бы вы разложили хангыль?

fujhi

Цитата: Тайльнемер от июля 18, 2012, 10:40
Правильно ли я понимаю, что вы предлагаете для каждого простого иероглифа (типа 口) ввести помимо основного код-пойнта ещё несколько дополнительных код-пойнтов, содержащих тот же иероглиф в роли диакритики того или иного типа?
Если так, то не проще ли выделить несколько код-пойнтов, обозначающих только тип диакритики, или тип разложения иероглифа на части, и представлять иероглиф в виде этого маркера типа и составных частей?
Не думаю, что проще. С моим подходом задача «прочитать одну букву» делается достаточно просто — «прочитать всю диакритику [т.е. символы с кодом больше определённого числа] аж до не-диакритика» (или, если делать диакритику после символа, как в уникоде, то «прочитать один не-диакритик и всю диакритику вплоть до следующего не-диакритика»; но тогда нужен lookahead).

Если делать «комбинации», то «взять символ; если это комбинатор, рекурсивно вызвать себя же дважды; [потом прочитать всю диакритику — впрочем, диакритику тоже можно рассматривать как комбинации тогда]» (ведь подкомпоненты тоже могут быть комбинациями) — это гораздо сложнее.

Кроме того, я не думаю, что в китайском так уж нужны совершенно рандомные комбинации. Самыми частыми являются сочетания любого иероглифа (от него берётся чтение) с небольшим количеством семантических компонент. Т.е. в большинстве сочетаний фонетики бывают очень разными, а семантические компоненты — всегда одни и те же (言, 木, 口, 金), при чём у них фиксированное положение.

Кроме того, среди семантических компонентов много таких, которые не являются самостоятельными иероглифами (疒, 辶). А ещё больше таких, которые теоретически являются полноценными иероглифами, но настолько сильно видоиземнёнными, что кодировать их одинаково не представляется желательным (水 = 氵, 手 = 扌, 艸 = 艹, 人 = 亻, 火 = ⺮, 心 = 忄).

Цитата: Тайльнемер от июля 18, 2012, 10:40
Кстати, как бы вы разложили хангыль?
Не знаю. Я ни в зуб ногой в корейском. :(

А как по-Вашему лучше?
Этот аккаунт официально заброшен. Связаться со мной можно по всё тому же адресу, [email]dmymd@yandex.ru[/email]. Всем пока!

Bhudh

Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

fujhi

Этот аккаунт официально заброшен. Связаться со мной можно по всё тому же адресу, [email]dmymd@yandex.ru[/email]. Всем пока!

Bhudh

Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

fujhi

Цитата: Bhudh от июля 18, 2012, 12:33
Поццему не на 2? :donno:
На совести Грувера. Впрочем, иероглиф редкий и никому не нужный.
Этот аккаунт официально заброшен. Связаться со мной можно по всё тому же адресу, [email]dmymd@yandex.ru[/email]. Всем пока!

Hellerick

Цитата: Bhudh от июля 18, 2012, 12:33
Поццему не на 2? :donno:
На два чего?
Этот «трезубец» разве является отдельной графемой?

Hellerick

Цитата: Hellerick от июля 18, 2012, 12:38
Цитата: Bhudh от июля 18, 2012, 12:33
Поццему не на 2? :donno:
На два чего?
Этот «трезубец» разве является отдельной графемой?


Гм, ялвяется...

Hellerick

Что делать с парами прописная-строчная буква? Всегда и всюду следовать порядку AaBbCc и т.д.?

fujhi

Цитата: Hellerick от июля 18, 2012, 12:43
Что делать с парами прописная-строчная буква? Всегда и всюду следовать порядку AaBbCc и т.д.?
Не знаю. Я думал так, хотя не знаю.

С одной стороны, заманчиво кодировать их отдельно: <прописная буква><С>. Так легче работать с текстом (замена «слон» на «верблюд» автоматически заменит «Слон» на «Верблюд»). Но тогда all-caps выглядит тупо, и непонятно, что делать с комбинациями типа <прописаная буква><9>.




Кстати, можно числа вообще хранить как числа. Т.е. <десятичное число><...>. (Понятно, что 0 так лучше не кодировать. Хотя...).

Так автоматически получаем:

  • natural sort без забот,
  • расширяемость для римских/индийских цифр,
Но получаем такие проблемы:

  • если число >#x7fff (не выходить же в область диакритики...),
  • как записать 0? (не нулевым кодом же...) Прибавлять ко всем числам какое-то начальное значение?
В colorForth'е ввели понятие «слова». У каждого слова есть тип (с прописной буквы, все прописные, цифра)... Но это как-то по-инопланетянски. По сути, при таком подходе понятие «plain text»'а тогда вообще пропадает: есть только текст как массив слов.
Этот аккаунт официально заброшен. Связаться со мной можно по всё тому же адресу, [email]dmymd@yandex.ru[/email]. Всем пока!

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

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

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

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

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