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

Котировки кодировок

Автор okruzhor, марта 18, 2013, 15:05

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

okruzhor

 Этот (1-й) постинг резюмирует ветку

Цитата: okruzhor от марта 18, 2013, 15:05
Евротопкод -- семь языков одним байтом

Возможна 1-байтовая кодировка для 7 основных европейских языков (по 2 регистра в каждом) : английского и греческого (с правильными алфавитным порядком и соотношением регистров) ; испанского , немецкого , португальского , русского , французского .

Основная идея : Аа (русские) = Aa (английские) и т.д. . Полностью сохраняются : управляющие ASCII коды , требуемые POSIX-ом (0=\0, 7=\a, 8=\b, 9=\t, 10=\n, 11=\v, 12=\f, 13=\r) ; видимые символы ASCII .

Слово может представляться как бы многоязычной смесью . Нарушается алфавитный порядок (а также обычное соотношение регистров) некоторых языков . Ударение (даже постоянное как в греческом) придётся показывать регистром или грависом (`) .

Переключение регистра букв : с кодами 3...6 -- +/-2 ; с кодами 16...31 -- битом [3] ; иначе -- битом [5] (как в ASCII) .

// Извините , ниже буду писать диакритику справа и при этом заменять акут на апостроф

Общие неанглийские (C_ E' E: U: A` E` U` A^ E^ O^) : 2 * 10 = 20 контрольных кодов (3=C_ , 4=O^ , 5=c_ , 6=o^ и аналогично 16...31) .

Английский алфавит -- по ASCII .

Греческий алфавит -- целиком в зоне >127 : 24 пары букв .

В русском алфавите 6 пар букв (а е о р с х) как латинские и 1 пара (ё) как общая (с французским) ; ==> 26 пар букв .

1 испанская пара букв (N~) .

6 португальских пар букв (A' A~ I' O' O~ U') .

3 немецких пары букв (A: O: "бета") .

4 французских пары букв (I^ I: U^ Y:) ; лигатуры заменяются диграфами (AE OE) .

Устройство Евротопкода >127 : 24 больших греческих буквы ; 1 испанская ; 3 немецких ; 4 французских ; аналогично (24 + 1 + 3 + 4) малых ; 26 больших русских (без "Ё" и без похожих на латинские) ; 6 португальских ; аналогично (26 + 6) малых .

Цитата: okruzhor от
Альтернатива Евротопкоду -- Кирилат . Греческого нет : при всей особой роли в цивилизации , это слишком экзотический алфавит ; этим он и ценен , но не в плотной 1-байтной кодировке .

Кирилат -- 1-байтовая ASCII-совместимая кодировка для 19 языков по 2 регистра в каждом : Английский , Азербайджанский , Венгерский , Зулу , Индонезийский , Испанский , Итальянский , Нидерландский , Немецкий , Португальский , Румынский , Суахили , Турецкий , Французский ; Белорусский , Болгарский , Монгольский , Русский , Украинский .

Без лигатур (AE OE SS) . Диакритики здесь условно показаны справа от буквы ; акут заменён на апостроф ; седиль -- на подчёркивание . Более нижние (в списке) языки используют буквы более верхних , но не наоборот .

Английский -- 26 пар букв : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z .

Прочие языки добавляют 64 пары букв и занимают все 128 кодов >127 :

      Немецкий (без лигатуры эсцет=SS) -- A: O: U:
      Испанский -- ударения (A' E' I' O' U') и N~
      Итальянский -- A` E` I` O` U`
      Нидерландский -- Ё I:
      Турецкий -- C_ G< "йота" (I без точки) S_
      Азербайджанский -- (малая перевёрнутая 'e' и её большая копия)
      Португальский -- A^, A~, E^, O^, O~
      Французский (без лигатур AE и OE) -- I^ U^ Y:
      Венгерский -- U~
      Румынский -- A( S, T,
      Русский -- 26 пар букв : Б В Г Д Ж З И Й К Л М Н П Т У Ф Ц Ч Ш Щ Ъ Ы Ь Э Ю Я
      Монгольский -- "тета" ; "игрекоид"
      Белорусский -- У(
      Украинский -- Э (оборотное) Г (с засечкой)
      Болгарский , Зулу , Индонезийский , Суахили : в этих языках нет букв сверх перечисленных выше .

Цитата: okruzhor от
Кстати , раз уж в этих кодировках нет псевдографики , предлагаю свою асциграфику (только из стандартных видимых символов) которую считаю оптимальной .

Кнопка в асциграфике :


.--------.
| Асци-  |-.
| кнопка | |
`--------' |
  `--------'


Схема в асциграфике :


>----.  .-----.
      |  |     |
      |  |     v
.----|--+-------.
|    |  |       |
^    |  `-------' 
      |     ^
v    |     |
|    |     |
`----------'
      |
      `-------->


Таблица в асциграфике :


.----.---.
|AAbb|cCc|
|DDee|fFf|
:----+---:
|GGhh|iIi|
|JJkk|lLl|
|MMnn|oOo|
`----^---'


Окно в асциграфике :


.---[A]--.
<        ^
|        |
#        |
|        #
|        |
>        v
`--[B]---'

Т.е. левый скроллер -- горизонтальный

Для улучшения внешнего вида асциграфики желательны 2 маленьких изменения в шрифтах :

      в ':' -- раздвинуть точки ;
      '^' -- сдвинуть ниже .

okruzhor

 Кстати , раз уж в Евротопкоде нет псевдографики , предлагаю свою асциграфику (только из стандартных видимых символов) которую считаю оптимальной .

Кнопка в асциграфике :


.--------.
| Асци-  |-.
| кнопка | |
'--------' |
  '--------'


Схема в асциграфике :


>----.  .-----.
      |  |     |
      |  |     v
.----|--+-------.
|    |  |       |
^    |  '-------' 
      |    ^
v    |    |
|    |    |
'---------'
      |
      '-------->


Таблица в асциграфике :


.----.---.
|AAbb|cCc|
|DDee|fFf|
:----+---:
|GGhh|iIi|
|JJkk|lLl|
|MMnn|oOo|
'----'---'


Окно в асциграфике :


.---[A]--.
<        ^
|        |
#        |
|        #
|        |
>        v
'--[B]---'

Т.е. левый скроллер -- горизонтальный

Hellerick

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

okruzhor

 UTFH (H -- 8-я буква в алфавите) -- альтернатива UTF8

Определение

      3 вида байтов : 128 "малых" (ASCII = 0XXXXXXX) ; 96 "средних" (100XXXXX , 101XXXXX , 110XXXXX) ; 32 "больших" (111XXXXX) .
      Допустимые коды : 1-байтные (ASCII) -- 128 малых ; 2-байтные (большой и малый) -- 4096 (в UTF8 -- 2048) ; 3-байтные (средний , средний , малый) -- 1.179648e6 = 18*2**16 (в UTF8 -- 2**16) ; 4-байтных нет (в UTF8 -- 17*2**16) .
      ==> BOM=U+FEFF = 8F 9D 7F . Годится , ведь UTF8 не может начинаться с байта 8F , который (по формату UTF8) ведомый .

Надёжность и прочие технические свойства -- как в UTF8 :

      полная совместимость с ASCII ;
      при любой порче (со сменой категории) 1 любого байта многобайтного кода -- формат обязательно утратит корректность ;
      взявшись за любой байт , можно , сканируя только вправо , найти начало следующего символа ;
      аналогично можно замечать символы , сканируя только влево от любого байта ;
      среди 2-байтных кодов повторены все 1-байтные и т.д. .

Преимущества UTFH перед UTF8 :

      всегда достаточно 3 байтов (вместо 4 в UTF8) ;

      иногда достаточно 2 байтов , когда в UTF8 нужно 3 :
      Самаритянское письмо (0800-083F)
      Мандейский алфавит (0840-085F)
      Расширенный набор символов арабского письма-А (08A0-08FF)
      10 индийских письменностей (0900 -- 0DFF)
      Тайская письменность (0E00—0E7F)
      Лаосская письменность (0E80—0EFF)
      Тибетская письменность (0F00—0FFF)

P.S: Вообще расположение алфавитов в Юникоде -- местами странное , критерий загадочен

mnashe

Поскольку мне приходится использовать в своём DOS-овом редакторе и русский, и иврит, а Windows не позволяет переключать кодовые страницы «на лету», как я это когда-то делал в DOS, я нарисовал вот такой шрифт и отображаю любые тексты в него.
Иврит и маленькие русские все на своих местах (CP862 и CP866), а большие русские, которым нет подобных в латинице, пришлось распихивать куда попало, стараясь по возможности не трогать самое нужное.
Поскольку кодировка DOS-овская (стало быть, куча места отведена под псевдографику), свободного места очень мало.
Адепт единственного числа и безродового склонения
שָׁלוֹם עֲלֵיכֶם!


okruzhor

 Есть одно отличие UTFH от UTF8 , которое можно считать ухудшением , а можно и нет ...

В UTF8 , увидев любой "малый" байт (0XXXXXXX) , можно однозначно заключить , что это 1-байтный код ASCII . В UTFH для подобного заключения надо посмотреть на байт слева ; ==> там как бы мЕньшая (чем в UTF8) поддержка ASCII .

С другой стороны , я вижу в этом аспекте UTF8 единственный практический смысл : можно однозначно выявить все ASCII в тексте и отбросить (или заменить квадратиками) более длинные коды ; однако такая возможность есть и в UTFH .

P.S: Уточнение про BOM=U+FEFF : 8F9D7F годится , ведь UTF8 не может начинаться с байта 8F , который (по формату UTF8) ведомый .

okruzhor

 Объясните пожалуйста про "арабские презентационные формы-B (FE70–FEFF)" ? Среди них действительно находится FEFF = BOM = "неразрывный пробел нулевой ширины" ? И он как выглядит в качестве "арабской формы" ? Странно всё это как-то ...

okruzhor

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

Альтернатива Евротопкоду -- Цырлат . Греческого нет : при всей особой роли в цивилизации , это слишком экзотический алфавит ; этим он и ценен , но не в плотной 1-байтной кодировке .

Зато есть : весь ASCII ; английский ; индонезийский ; испанский ; итальянский ; немецкий ; нидерландский ; португальский ; турецкий ; французский ; болгарский ; русский ; украинский . Всего 12 языков .

Общие пары букв (с диакритиками) нескольких языков : C_ S_ A' E' I' O' U' A: E: I: O: U: A` E` U` A^ E^ I^ O^ O~ . Всего 20 .

Специфические пары букв :
N~ -- испанский
I` O` -- итальянский
"бета" -- немецкий
A~ -- португальский
G< -- турецкий
U^ Y: -- французский
26 русских (Б В Г Д Ж З И Й К Л М Н П Т У Ф Ц Ч Ш Щ Ъ Ы Ь Э Ю Я)
Э (оборотное) Г (с засечкой) -- украинский

Всего 36 специфических пар .
Ещё 16 псевдографических значков : 11 для таблиц ; 4 стрелки ; полуинверсный прямоугольник . Имхо , если нужна 1-байтовая кодировка , тогда вероятно нужна ещё и псевдографика .
Итого 2 * (20 + 36) + 16 = 128 .

okruzhor

 Окончательная ASCII-совместимая кодировка Кирилат для 20 языков : Английский , Азербайджанский , Венгерский , Зулу , Индонезийский , Испанский , Итальянский , Нидерландский , Немецкий , Португальский , Румынский , Суахили , Татарский , Турецкий , Французский ; Белорусский , Болгарский , Монгольский , Русский , Украинский .

Без лигатур (AE OE SS) . Ударение гласной с диакритикой показывается справа . Диакритики здесь условно показаны справа от буквы ; акут заменён на апостроф ; седиль -- на подчёркивание . Более нижние (в списке) языки используют буквы более верхних , но не наоборот .

   Английский -- 26 букв : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
   Немецкий (без лигатуры эсцет=SS) -- A: O: U:
   Испанский -- ударения (A' E' I' O' U') и N~
   Итальянский -- A` E` I` O` U`
   Нидерландский -- Ё I:
   Турецкий -- C_ G< "йота" (I без точки) S_
   Азербайджанский -- (малая перевёрнутая 'e' и её большая копия)
   Португальский -- A^, A~, E^, O^, O~
   Французский (без лигатур AE и OE) -- I^ U^ Y:
   Венгерский -- U~
   Румынский -- A( S, T,
   Русский -- 26 букв : Б В Г Д Ж З И Й К Л М Н П Т У Ф Ц Ч Ш Щ Ъ Ы Ь Э Ю Я
   Монгольский -- "тета" ; "игрекоид"
   Белорусский -- У(
   Украинский -- Э (оборотное) Г (с засечкой)
   Болгарский , Зулу , Индонезийский , Суахили , Татарский : в этих языках нет букв сверх перечисленных выше .
   Всего 20 языков .

P.S: В 1-м постинге буду резюмировать ветку

okruzhor

 Слегка изменена асциграфика из-за шрифтов с апострофом в виде акута :


|  |  | -->
'--'--'

|  |  |
`--^--'


Dēmē

Цитата: okruzhor от апреля  6, 2013, 15:20
   Болгарский , Зулу , Индонезийский , Суахили , Татарский [выделение моё — Dēmē] : в этих языках нет букв сверх перечисленных выше .
:o :o :o

ә, җ, ң, ө, ү, һ — не буквы? :o

Vertaler

Откуда идея совместить знаки Õ и Ő?

И чем провинилась ß?
Стрч прст в крк и вынь сухим.

okruzhor

 Dēmē ,

спасибо . 2-я и 3-я буквы Вашего списка действительно не реализованы ... где-то что-то я перепутал :-( Жаль . Без татарского -- гораздо хуже

> Откуда идея совместить знаки Õ и Ő?

Vertaler , у меня они обе ; записаны как O~ и O:

> И чем провинилась ß?

Тем же , чем и французские AE и OE : наличием традиции замены . Пишут , что без неё часто обходятся . Расписано , когда её заменяют на SS , а когда (изредка) на SZ .

P.S: актуальное состояние -- в 1-м постинге ветки

Vertaler

Цитата: okruzhor от мая  6, 2013, 19:56
> Откуда идея совместить знаки Õ и Ő?

Vertaler , у меня они обе ; записаны как O~ и O:
Тогда откуда идея совместить Ő и Ö?

Цитировать> И чем провинилась ß?

Тем же , чем и французские AE и OE : наличием традиции замены . Пишут , что без неё часто обходятся . Расписано , когда её заменяют на SS , а когда (изредка) на SZ .
Так или иначе, смотрится это... своеобразно. Мы как-то зашли с моей немецкой девушкой на сайт швейцарской газеты и ржали.
Стрч прст в крк и вынь сухим.

Dēmē

Цитата: okruzhor от мая  6, 2013, 19:56
где-то что-то я перепутал :-( Жаль . Без татарского -- гораздо хуже
Может, Вы ориентировались на какую-то из татарских латиниц? :???

okruzhor

 > Тогда откуда идея совместить Ő и Ö?

Из её самоочевидности . То есть моим очам это видно само , без усилий .

Вообще идея одинаковых кодов для одинаковых букв различных языков -- потенциально крива : начертания , шрифтовые стили могут постепенно усиливать национальную специфику . Считать ли У и Y идентичными , если в некоторых шрифтах они могут сблизиться ? У русского курсива совсем другие сходства с латиницей , чем у прямых шрифтов . И т.д.

Т.е. все подобные попытки 1-байтовых конгломератов ущербны и обречены : "усё пожрал проклятый -долгоносик- Юникод" .

> Может, Вы ориентировались на какую-то из татарских латиниц?

Нет , это был какой-то другой глюк . Я про все языки смотрел современный официоз в Википедии

Rwseg

Цитата: okruzhor от мая  7, 2013, 22:35
Вообще идея одинаковых кодов для одинаковых букв различных языков -- потенциально крива :
Ő и Ö — это две разные буквы одного языка.

okruzhor

 > Ő и Ö — это две разные буквы одного языка.

Какого ?

И правильно ли я разглядел , что над 1-й буквой 2 запятые , а над 2-й 2 точки ?

Vertaler

Цитата: okruzhor от мая 12, 2013, 02:26
> Ő и Ö — это две разные буквы одного языка.

Какого ?
Венгерского.

ЦитироватьИ правильно ли я разглядел , что над 1-й буквой 2 запятые , а над 2-й 2 точки ?
Над первой два акута.
Стрч прст в крк и вынь сухим.

okruzhor

Цитата: Vertaler от мая 12, 2013, 02:32Венгерского.
Ясно , спасибо . Я сначала уверенно видел в алфавите тильду , а не 2 акута .

Придётся переделывать , но пока некогда :-(

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

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

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

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

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