Автор Тема: Котировки кодировок  (Прочитано 6487 раз)

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

Оффлайн okruzhor

  • Blogger
  • *
  • Сообщений: 1477
  • Форум по игре Го forum.kido.com.ru
 Этот (1-й) постинг резюмирует ветку

Евротопкод -- семь языков одним байтом

 Возможна 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 маленьких изменения в шрифтах :

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

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

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

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

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

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

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

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

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

.---[A]--.
<        ^
|        |
#        |
|        #
|        |
>        v
'--[B]---'
Т.е. левый скроллер -- горизонтальный

Оффлайн Hellerick

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

Оффлайн okruzhor

  • Blogger
  • *
  • Сообщений: 1477
  • Форум по игре Го forum.kido.com.ru
 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

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

Оффлайн Тайльнемер

  • Сообщений: 12735
  • Σοι υν βυρρο. Ix bin æn ézl

Оффлайн okruzhor

  • Blogger
  • *
  • Сообщений: 1477
  • Форум по игре Го forum.kido.com.ru
 Есть одно отличие UTFH от UTF8 , которое можно считать ухудшением , а можно и нет ...

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

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

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

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

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

 Окончательная 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-м постинге буду резюмировать ветку

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

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

|  |  |
`--^--'

Dēmē

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

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

Оффлайн Vertaler

  • Сообщений: 11430
  • Пол: Мужской
  • Vielzeller
Откуда идея совместить знаки Õ и Ő?

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

Оффлайн okruzhor

  • Blogger
  • *
  • Сообщений: 1477
  • Форум по игре Го forum.kido.com.ru
 Dēmē ,

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

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

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

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

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

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

Оффлайн Vertaler

  • Сообщений: 11430
  • Пол: Мужской
  • Vielzeller
> Откуда идея совместить знаки Õ и Ő?

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

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

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

Dēmē

  • Гость
где-то что-то я перепутал :-( Жаль . Без татарского -- гораздо хуже
Может, Вы ориентировались на какую-то из татарских латиниц? :???

Оффлайн okruzhor

  • Blogger
  • *
  • Сообщений: 1477
  • Форум по игре Го forum.kido.com.ru
 > Тогда откуда идея совместить Ő и Ö?

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

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

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

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

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

Оффлайн Rwseg

  • Сообщений: 7022
  • Пол: Мужской
  • Русег
Вообще идея одинаковых кодов для одинаковых букв различных языков -- потенциально крива :
Ő и Ö — это две разные буквы одного языка.

Оффлайн okruzhor

  • Blogger
  • *
  • Сообщений: 1477
  • Форум по игре Го forum.kido.com.ru
 > Ő и Ö — это две разные буквы одного языка.

 Какого ?

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

Оффлайн Vertaler

  • Сообщений: 11430
  • Пол: Мужской
  • Vielzeller
> Ő и Ö — это две разные буквы одного языка.

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

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

Оффлайн okruzhor

  • Blogger
  • *
  • Сообщений: 1477
  • Форум по игре Го forum.kido.com.ru
Венгерского.
Ясно , спасибо . Я сначала уверенно видел в алфавите тильду , а не 2 акута .

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

 

В быстром ответе можно использовать BB-теги и смайлы.

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.
Имя: E-mail:
Визуальная проверка:
√49 Напишите ответ строчными буквами:
«Сто одёжек, все без застёжек» — что это?: