Этот (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 маленьких изменения в шрифтах :
в ':' -- раздвинуть точки ;
'^' -- сдвинуть ниже .
Кстати , раз уж в Евротопкоде нет псевдографики , предлагаю свою асциграфику (только из стандартных видимых символов) которую считаю оптимальной .
Кнопка в асциграфике :
.--------.
| Асци- |-.
| кнопка | |
'--------' |
'--------'
Схема в асциграфике :
>----. .-----.
| | |
| | v
.----|--+-------.
| | | |
^ | '-------'
| ^
v | |
| | |
'---------'
|
'-------->
Таблица в асциграфике :
.----.---.
|AAbb|cCc|
|DDee|fFf|
:----+---:
|GGhh|iIi|
|JJkk|lLl|
|MMnn|oOo|
'----'---'
Окно в асциграфике :
.---[A]--.
< ^
| |
# |
| #
| |
> v
'--[B]---'
Т.е. левый скроллер -- горизонтальный
Когда-то очень давно я видел электронный словарь, в комплекте с которым шел шрифт с нестандартной кодировкой символов — было весьма похоже, там также была попытка графемы большинства европейских алфавитов втиснуть в однобайтовую кодировку.
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: Вообще расположение алфавитов в Юникоде -- местами странное , критерий загадочен
Поскольку мне приходится использовать в своём DOS-овом редакторе и русский, и иврит, а Windows не позволяет переключать кодовые страницы «на лету», как я это когда-то делал в DOS, я нарисовал вот такой шрифт и отображаю любые тексты в него.
Иврит и маленькие русские все на своих местах (CP862 и CP866), а большие русские, которым нет подобных в латинице, пришлось распихивать куда попало, стараясь по возможности не трогать самое нужное.
Поскольку кодировка DOS-овская (стало быть, куча места отведена под псевдографику), свободного места очень мало.
Цитата: okruzhor от марта 30, 2013, 21:00
UTFH
Круто! (http://lingvowiki.info/wiki/images/1/15/Sm_thumbsup.svg)
Есть одно отличие 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-м постинге буду резюмировать ветку
Слегка изменена асциграфика из-за шрифтов с апострофом в виде акута :
| | | -->
'--'--'
| | |
`--^--'
Цитата: okruzhor от апреля 6, 2013, 15:20
Болгарский , Зулу , Индонезийский , Суахили , Татарский [выделение моё — Dēmē] : в этих языках нет букв сверх перечисленных выше .
:o :o :o
ә, җ, ң, ө, ү, һ — не буквы? :o
Откуда идея совместить знаки Õ и Ő?
И чем провинилась ß?
Dēmē ,
спасибо . 2-я и 3-я буквы Вашего списка действительно не реализованы ... где-то что-то я перепутал :-( Жаль . Без татарского -- гораздо хуже
> Откуда идея совместить знаки Õ и Ő?
Vertaler , у меня они обе ; записаны как O~ и O:
> И чем провинилась ß?
Тем же , чем и французские AE и OE : наличием традиции замены . Пишут , что без неё часто обходятся . Расписано , когда её заменяют на SS , а когда (изредка) на SZ .
P.S: актуальное состояние -- в 1-м постинге ветки
Цитата: okruzhor от мая 6, 2013, 19:56
> Откуда идея совместить знаки Õ и Ő?
Vertaler , у меня они обе ; записаны как O~ и O:
Тогда откуда идея совместить Ő и Ö?
Цитировать> И чем провинилась ß?
Тем же , чем и французские AE и OE : наличием традиции замены . Пишут , что без неё часто обходятся . Расписано , когда её заменяют на SS , а когда (изредка) на SZ .
Так или иначе, смотрится это... своеобразно. Мы как-то зашли с моей немецкой девушкой на сайт швейцарской газеты и ржали.
Цитата: okruzhor от мая 6, 2013, 19:56
где-то что-то я перепутал :-( Жаль . Без татарского -- гораздо хуже
Может, Вы ориентировались на какую-то из татарских латиниц? :???
> Тогда откуда идея совместить Ő и Ö?
Из её самоочевидности . То есть моим очам это видно само , без усилий .
Вообще идея одинаковых кодов для одинаковых букв различных языков -- потенциально крива : начертания , шрифтовые стили могут постепенно усиливать национальную специфику . Считать ли У и Y идентичными , если в некоторых шрифтах они могут сблизиться ? У русского курсива совсем другие сходства с латиницей , чем у прямых шрифтов . И т.д.
Т.е. все подобные попытки 1-байтовых конгломератов ущербны и обречены : "усё пожрал проклятый -долгоносик- Юникод" .
> Может, Вы ориентировались на какую-то из татарских латиниц?
Нет , это был какой-то другой глюк . Я про все языки смотрел современный официоз в Википедии
Цитата: okruzhor от мая 7, 2013, 22:35
Вообще идея одинаковых кодов для одинаковых букв различных языков -- потенциально крива :
Ő и Ö — это две
разные буквы
одного языка.
> Ő и Ö — это две разные буквы одного языка.
Какого ?
И правильно ли я разглядел , что над 1-й буквой 2 запятые , а над 2-й 2 точки ?
Цитата: okruzhor от мая 12, 2013, 02:26
> Ő и Ö — это две разные буквы одного языка.
Какого ?
Венгерского.
ЦитироватьИ правильно ли я разглядел , что над 1-й буквой 2 запятые , а над 2-й 2 точки ?
Над первой два акута.
Цитата: Vertaler от мая 12, 2013, 02:32Венгерского.
Ясно , спасибо . Я сначала уверенно видел в алфавите тильду , а не 2 акута .
Придётся переделывать , но пока некогда :-(