Коли виздихає ASCII? & Створення української кодової сторінки

Автор DADA11C7, марта 1, 2014, 02:31

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

DADA11C7

Прошу шановних лінгвохворумців висловити свою думку з приводу доцільності створення української кодової сторінки, яка б дозволяла записувати тексти історичними правописами. Наявні кодові сторінки це якась ганьба, окрім коі8-у, але там ганебне сама мета його створення - щоб при передачі тексту через стародавні модеми, які урізають восьмий біт,  текст залишався читаємим. Я розвів срач на форумі програмістів, тепер хочу вашої думки спитати.
Коротка вижимка з того срачу:
Цитировать
Я деякий час займався алгоритмами шифрування/кодування інформації та розробкою компілера, і побачив, наскільки застарілі й вбогі сучасні стандарти кодування інформації. Приклади:
1) Стандарт ASCII - з перших 32 кодів дійсно використовується лише 2 кода - наступний рядок і пробіл. Наприклад, код 07 огидно дзвякав у ДОСі, а до того на терміналах. Зараз те все обладнання на звалищі історії.
2) Кирилична кодова сторінка могла б вмістити знаки усіх історичних українських правописів(з того, що зараз пригадую - желехівка, кулішівка(чинний), галицький в довоєнній польщі(латиниця), ярижка в рос. імперії, максимовичка) і про білорусів з росіянами не забули б, бо сучасна іміджбордова культура включає слово Няўка з кратким у. Проте, сучасні кириличні кодові сторінки поділяються на ті що з ґ і ті що без ґ. А нещасний оцифровувач давніх українськи рукописів (ізборник) вигадував свій шрифт.
3) В XML для кодування і зберігання бінарних даних можливо використовувати лише BASE64. Хоча кодування BASE85 має кращу щільність, його використання неможливе через співпадіння абетки BASE85 з керуючими символами XML.
4) Багато мережевих програм сприймають лише 7-бітові послідовності, а тому все що виходить за межі кодується BASE64 або в кращому разі BASE85.
5) Використання кодувань з родини ЮНІКОД'ів часто не вирішує питання, а лише жере машинні ресурси, що унеможливлює або затрудняє використання потрібних символів у вбудованих системах.

Цитировать
1. Пробіл не входить в перші 32 символи; обмежене використання мають backspace, linefeed (в парі з CR), ESC.
2. Хіба за рахунок псевдографіки. А вона теж ще використовується.
3. XML за структурою має низьку щільність. Хочете високої - пакуйте.
4. А ви тільки що за розширення кодової сторінки ратували... Нащо, якщо все одно не влазить?
5. Юнікод вирішує практично всі проблеми, пов'язані з кодуванням. Так, щільність низька - але то вже до ущільнювачів питання, не до кодування. Неможливо закодувати 100500 алфавітів так, щоб запис на будь-якому з них мав високу щільність.

Цитировать
1. Я розумію що CR/LF/CRLF використовуються та ще й табуляція, але (особливо перше) навіщо? Коли в останнє отой CRLF використовувався в принтерах "ромашка" - гібриду принтера із друкарською машинкою, який окремо вертав каретку і окремо переходив до нового рядка? Мабуть давно це було і вже тоді можна було обійтися без цього.
2. В сучасній CP1251 є все що завгодно, окрім того, що використовується. Навіть складно уявити, як можна писати тексти без ¤, ¦, †, ‡, резерву 0x98 і 10 символів лапок. До речі в кодуванні СР866 була відсутня літера і, а обходилися західноєвропейською. Треба ще визначитися, чи потрібно взагалі дублювати аналогічні латинським літери. Якщо раніше ніхто не відчував себе ущємльонним за язик, то може не треба і інші літери дублювати?
3,4. Використання кодових сторінок ще доцільно з міркувань підтримки застарілим або просто нескладним обладнанням. Наприклад, ІБМ-ПЦ архітектура має текстовий режим роботи відеосистеми, який навіть досі використовується - нейтів віндовз програми. Я ратую скоріше за одмежування ASCII від мережевих технологій, бо страшне - де-факто використовується 6 біт замість 8. Занадто вже важка спадщина сумісності.
5. Погоджуюсь, ЮНІКОД і ЮТФ8 мені самому подобається, але європейських абеток всеж не 100500 і тим більше не всі з них одночасно використовуються в одному документі.

Цитировать
1. Можна, але з історичних причин краще залишити як є - бо тоді виникає питання, що саме пхати на місце старих символів, а тут можливі різні погляди. Ви хочете ще 100500 різновидів utf-8 з різницею в перших 32 кодах?
2. Так, в CP1251 є одне, в CP866 інше, а в KOI8-U - третє. І це - природний наслідок однобайтності: різним людям треба запхати різне, а кодування не гумове.
3, 4. Як ви пропонуєте відмежовуватися - розробити новий, 100500-й, UTF, що не базуватиметься на ASCII?
5. А що, в світі існують тільки європейські абетки? Чи ви пропонуєте, щоб були окремі кодування для різних частин світу? Чи навіть створювати своє унікальне і неповторне кодування для кожної комбінації абеток і спеціальних символів в документі?

Давайте скажемо так: здавна існувало 100500 різних алфавітів. Вони мають різний ступінь спорідненості, купу діакритики і інших особливостей. І один з цих алфавітів, базований на англійському, зветься ASCII; і нема жодних підстав проігнорувати його, особливо з урахуванням його значення в розвитку комп'ютерних технологій. І якщо ми хочемо створити мати єдине кодування для всіх (а без цього буде безлад), то це кодування має певним чином відображати символи ASCII (і всіх інших поширених кодувань).

Цитировать
Цитировать2. Так, в CP1251 є одне, в CP866 інше, а в KOI8-U - третє. І це - природний наслідок однобайтності: різним людям треба запхати різне, а кодування не гумове.
Вірно, проте мене турбує не природній наслідок однобайтності, а неприродній наслідок Сталіна, Постишева і Косіора. Білорусів до того дореформували, що вже мови вважай що нема. Того я вважаю, що українська кодова сторінка має включати спадок
Цитировать3, 4. Як ви пропонуєте відмежовуватися - розробити новий, 100500-й, UTF, що не базуватиметься на ASCII?
Більш за всього мене вразив формат електронного листа - коди більш за 127 не можна, бо 30 років тому модеми передвавли лише 7 біт і коди менше за 33 не можна, бо програма для зворотньої сумісності ігнорує ті символи, тому всі вкладення кодуються БЕЙС64. Так жить нізя! Треба ті технології викинути на звалище історії.
Цитировать5. А що, в світі існують тільки європейські абетки? Чи ви пропонуєте, щоб були окремі кодування для різних частин світу?
І так і ні, бо Європа самодостатнє утворення, яке створює контент, тому очевидно, що суто двобайтне кодування задовільнить 98% її потреб, а все інше - "духовність" і "самобутність". Для китайців і 3 байти буде замало. Кількість байт я навів лише для прикладу. Сам я поки схиляюся до перемикання "кодових сторінок" і в деяких випадках - власна абетка документа. Тобто існує "головна" системна абетка, а в заголовці документа прописується її підмножина для ущільненого кодування.

Цитировать
А я вважаю, що не має бути української кодової сторінки взагалі - має бути український розділ в єдиному кодуванні.

Для того, аби щось викинути, треба спершу придумати заміну. І вона існує - різні XMPP, Skype і т.д. Там все гаразд з кодуванням. А не подобається e-mail - то не користуйтеся.

Самодостатній тільки Господь Бог. Європа потребувала, потребує і потребуватиме купу різного контенту з інших країн, причому ця взаємозалежність тільки посилюється. Це не добре і не погано, це є. До речі, для історичних європейських алфавітів 1 байту не вистачить, навіть якщо не вважати вірмен і грузин за європейців.
А китайцям для 99,99% випадків вистачає 2 байтів (більшість незвичайних ієрогліфів - терміни китайської традиційної медицини, введені конкретними лікарями для конкретних, давно спростованих, теорій).

Що ви думаєте?

Python

В часи поширеності UTF-8 та інших юнікодівських форматів кодування, проблема створення національних кодових сторінок є не настільки актуальною. Хоча технічно реалізувати підтримку ще одного кодування не складно, як на рівні ОС, так і на рівні допоміжних платформ назразок JVM.

А чим саме Вас не влаштовують існуючі 8-бітні кодування (CP1251, KOI8-U)? Щодо CP866 зрозуміло — там є не всі українські літери (хоча також існує трохи призабуте українське ГОСТ-кодування (воно ж CP1125 або RUSCII), близьке до CP866 (хоч і несумісне з ним у частині українських літер), де український алфавіт представлено повністю).

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

Python

До речі, питання в заголовку поставлено некоректно. Бо ASCII в чистому вигляді включає в себе лише коди 0...127, які в більшості національних кодувань заповнені тими ж символами (англійський алфавіт, цифри, пунктуація, математичні та ін. знаки, службові коди). UTF-8 — також ASCII-сумісне кодування. ASCII як семибітне кодування «виздихало» вже, але продовжує існувати як частина сумісних із ним 8-бітних кодувань, які «виздихувати» поки що не збираються.

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

quez

Ще одне кодування? Ні, дякую. І так доводиться згадувати незлим тихим тих, хто в час Юнікоду використовує подібні збочення.

DADA11C7

ЦитироватьА чим саме Вас не влаштовують існуючі 8-бітні кодування (CP1251, KOI8-U)? Щодо CP866 зрозуміло — там є не всі українські літери (хоча також існує трохи призабуте українське ГОСТ-кодування (воно ж CP1125 або RUSCII), близьке до CP866 (хоч і несумісне з ним у частині українських літер), де український алфавіт представлено повністю).
Найменше, чому КОІ8-U не підходить - відсутність няўок. Хоча я вважаю його найкращим серед наявних. CP1251 занадто схиблений на копірастії. Мене бісить, що на ізборнику замість православного ѣ - сербське страхолюдіє - Ђ  >( . Кодова сторінка потрібна не тільки для застарілого обладнання, а й для використання в текстовому режимі сучасних відеоадаптерів, який часто застосовується на початкових етапах завантаження системи (БІОС, завантажувачі ОС, віндовз нейтів програми).
ЦитироватьЗвичайно, можна погратися (напр., узяти CP1251 і замінити частину символів історичними літерами), але зробити таке кодування загальноприйнятим стандартом буде складно — UTF-8 насьогодні значно поширеніше й має деякі переваги перед
8-бітними кодуваннями.
Я не кажу про світове панування, тут скоріше питання в тому, щоб забрати монополію на абетку в товариша Сталіна з копірастами. UTF-8 безперечно набагато краще, ніж плутанина з кодовими сторінками, але по-перше вони забагато віддають ASCII, яке застаріле - я вище писав про використання кодів 0-31, по-друге я чув невдоволеність китайських товаришів уніфікацією їхніх єрогліфів.
ЦитироватьДо речі, питання в заголовку поставлено некоректно. Бо ASCII в чистому вигляді включає в себе лише коди 0...127.
Питання поставлене коректно, бо це мене теж цікавить. Але я розумію, що кодові сторінки будуть жити принаймні доки живий АйБіЕм ПіСі, я вище написав чому.
ЦитироватьХоча технічно реалізувати підтримку ще одного кодування не складно, як на рівні ОС, так і на рівні допоміжних платформ назразок JVM.
Зараз я розробляю таку допоміжну платформу, яку можна буде використовувати в будь-якому "тостері" - від мс-дос до зх спектруму з 16кб пам'яті. Особливістю платформи буде висока оптимізованість мовою асемблера з усілякими біт-хаками. На він32 х86 платформі результат вже перевершив мої сподівання. Тому я й подумав, що непогано було б дати доступ до українського контенту з кожної "праски".

Python

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

Python

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

Python

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

Python

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

Python

З погляду сучасності (8 років після старту теми). Попри те, що ніша 8-бітних національних кодувань вузька і продовжує звужуватись, не можна сказати, що вона зникла остаточно. За час, відколи було створено останню восьмибітку з повним українським алфавітом, з'явились деякі нові випадки, пов'язані з українською графікою, не враховані в жодному з цих кодувань:
— символ гривні ₴ (з'явився раніше символа рубля, але вже після євро. CP1251 має лише євро).
— апостроф-літера ʼ (рідко використовується, але в кириличних доменних іменах можна використовувати лише цей апостроф. В cp1251 є два інші апострофи, це не рахуючи гравісу, який теж інколи використовують у цій ролі. Можна розмістити на місці верхніх одинарних лапо́к ' , які часто використовуються в ролі правильного апострофа й графічно тотожні апострофу-літері).

З того, що було б варто додати давно, але так і не додали:
— комбінований наголос  ́ (здавна використовується в українській мові, подекуди є змістотворчим; протЕз у вИгляді велИких лІтер нікУди не годИться. cp1251 комбінованих діакритиків не містить, хоча її використання і не обмежується шрифтами з фіксованою шириною символів, тому, в принципі, це не заборонено).
— комбінована надрядкова дужка  ͡  (використовується в мовознавстві при позначенні звуків д͡ж та д͡з, хоча в загальному випадку не вживається, тому можна обійтися).

Для передачі текстів ХІХ ст.:
— ять Ѣѣ. (Якщо не дбати про сумісність з сербською графікою, можна ввіткнути на місце Ђђ, хоча можна й підшукати інші кодові позиції).
— комбінований циркумфлекс  ̂ (літери з ним присутні в максимовичівці та похідних від неї орфографіях. Як варіант, можна виділити окремі позиції для всіх літер з дашком, що має сенс з точки зору текстової консолі, але місця для всіх обмаль, тому ні).

— інші давні літери (Ѳѳ, Ѵѵ, вже не кажучи про Ѫѫ, Ѧѧ, Ѯѯ, Ѱѱ тощо) в українських текстах якщо й використовуються, то рідко. Сюди ж — титло, діакритики з правопису Гацука та інша церковна архаїка. У спеціалізованому кодуванні, розрахованому на стару кирилицю (старо-/церковнослов'янську, староукраїнську), це б мало сенс, але в загальному випадку без них можна обійтися.

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

DarkMax2

Цитата: Python от марта  2, 2014, 05:40
Цитата: DADA11C7 от марта  1, 2014, 02:31
А нещасний оцифровувач давніх українськи рукописів (ізборник) вигадував свій шрифт.
ІМНО, Ізборник давно треба переконвертувати на нормальний UTF-8. Ять та інші архаїчні літери є в багатьох шрифтах, що постачаються разом із сучасними операційними системами. Модифікований шрифт, зроблений для передачі давньої кирилиці засобами CP1251, сьогодні вже виглядає як анахронізм.
Так, ґєрвь ґерев бісить.
Tej wojny nikt za nas nie wygra! © Wiedźmin III
Коли зчинять лемент: "Хто ж знав?!" — відповімо: "Ми".

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

Drundia

Цитата: Python от марта  2, 2014, 05:40
ІМНО, Ізборник давно треба переконвертувати на нормальний UTF-8.
Я теж так казав. Як мінімум можна було використовувати Ѣѣ для ятів, що цілком відповідає сучасним стандартам незалежно від обраної кодової сторінки.

Цитата: Python от января 13, 2022, 15:13
— комбінована надрядкова дужка  ͡  (використовується в мовознавстві при позначенні звуків д͡ж та д͡з, хоча в загальному випадку не вживається, тому можна обійтися).
Для них є букви Ԫ ԫ Ꚉ ꚉ.

Python

Цитата: Drundia от марта 22, 2022, 01:30
Для них є букви Ԫ ԫ Ꚉ ꚉ.
Або Џџ та Ѕѕ. Проте, сучасним українцям ні ці лігатури, ні сербо-македонські літери невідомі (в історичних українських правописах лише Џ пофункціонувало в цій ролі, решта ж або використовувались лише іншими мовами, або, в випадку Ѕ, в місцевих історичних правописах виконували дещо іншу функцію), а диграфи з надрядковою дужкою відомі, принаймні, з підручників української мови, використовуваних у наш час.
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Drundia


Python

Цитата: Drundia от марта 24, 2022, 01:53
Цитата: Python от марта 22, 2022, 02:03
Проте, сучасним українцям ні ці лігатури
Так само відомі з підручників і словників.
Я бачив їх використання лише на сканах старих газет, причому, неукраїнських — якась із ранніх радянських неслов'янських кирилиць. В українських джерелах, може, десь хтось колись і задіяв ці лігатури, але мені такі приклади бачити на власні очі не доводилось. На відміну від д͡ж та д͡з, які кочують з підручника в підручник, а в одному словнику навіть регулярно використовувались у тексті, поруч із регулярно проставленими наголосами.
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Drundia

Цитата: Python от марта 24, 2022, 05:25
В українських джерелах, може, десь хтось колись і задіяв ці лігатури, але мені такі приклади бачити на власні очі не доводилось.
Орфоепічні словники.

Python

Повертаючись до ідеї української кодової сторінки, не на користь лігатур чи окремих літер також і те, що для них доведеться відвести чотири кодові позиції (що, в випадку восьмибітних кодувань, марнотратство), тоді як діакритик займе лише одну. Тим більше, варіант із діакритиком в українських мовознавчих текстах найбільш поширений — отже, реалізувати слід у першу чергу його.

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

Python

Ще одна фантазія на тему українського восьмибітного кодування. Як ми знаємо, кодова сторінка 866 окремого коду для кириличної Іі не має — натомість можна використовувати графічно тотожну їй латинську. Що, як поширити цю практику й на інші кириличні літери, що мають графічних двійників у базовому наборі ASCII? Особливо якщо взяти за основу «болгарські» шрифти — тоді функція кириличної літери додатково ляже на Aa6BDgEe3uIiKkMHOonPpCcTmyXx, а додаткового місця в кодовій таблиці потребуватимуть лише БвГ㥴ЄєЖжзИЇїЙйЛлмнПУФфЦцЧчШшЩщЬьЮюЯя — всього 38 (замість 66 для повної української кирилиці).

Звичайно, такий підхід має недоліки (складніше сортувати текст, робити перетворення між великими й малими літерами тощо). Але можна використовувати це кодування лише для виводу даних, тоді як замість внутрішнього використати, наприклад, юнікодівські коди.

38 літер кирилиці. В принципі, таку кількість можна втиснути навіть і в 7-бітне кодування, споріднене з ASCII — розмістивши кирилицю на місці невикористовуваних керуючих кодів (понад два десятки в проміжку між нуль-символом та пробілом) та частини малозатребуваних в українській мові символів (@, #, $... Втім, це надто радикально).

Отже, в нас лишається сотня з гаком вільних кодів у верхній частині таблиці (тобто, з кодами 128 і вище). Чим їх заповнити? Наприклад, символами алфавітів інших мов, історично поширених на нашій території (польські додаткові літери, єврейське письмо).

Ще треба дивитись, які можливості дає наш анахронічний пристрій виводу. Якщо це текстовий дисплей з прямокутним растровим малюнком для кожного символа без можливості їхнього накладення, нічого особливо  цікавого ми не придумаємо. Трохи цікавіше, якщо малюнок симола може продовжуватись в області сусідніх символів — це дозволить нам використовувати приєднувані діакрити (акут, огонек, верхня крапка, діерезис, кратка...) замість окремих кодів для літер (польські додаткові літери, кириличні ЇїЙй тепер збиратимуться з літери та діакритика, також можна ставити наголос та збирати білоруські ЁёЎў; огонек, як у польській ą, якщо його правильно позиціонувати, зійде й за хвостик літер цЩщ). Якщо ж це, наприклад, щось назразок електронної друкарської машинки, що може накладати символи один на одного шляхом переміщення каретки, це ще краще з точки зору економії кодів, адже тепер можна частину діакритиків сумістити з замостійними символами (акут як накладений апостроф, діерезис як накладені лапки...). Варіант з діакритиками чи накладеннями зможе охопити не лише польську, а й деякі інші латиниці (литовську, чеську тощо).

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

mnashe

Вот такой кодовой страницей я пользуюсь в Multi-Edit'е уже много лет. Здесь ивритица на своём месте и, что очень удобно, строчные русские буквы на своём месте, так что текст без капсов, набранный в обычной CP-866, прекрасно читается (вместо заглавных букв выходит ивритица).

Заглавные буквы распихал где попало, пришлось даже область символов управления (00-1F) задействовать. Но я встроил в редактор специальный механизм, позволяющий отображать текст, набранный в CP-866 (или любой другой — карта настраивается) в шрифте, сделанном в этой моей модифицированной кодовой странице на базе CP-862.
Для украинских букв места не хватило, но если отказаться от размещения строчных букв на своих местах, то освободятся ещё 7 позиций, так что влезут все три буквы (×2).
Адепт единственного числа и безродового склонения
שָׁלוֹם עֲלֵיכֶם!

Eitanbor

Цитата: mnashe от марта 27, 2023, 13:20Вот такой кодовой страницей я пользуюсь в Multi-Edit'е уже много лет. Здесь ивритица на своём месте и, что очень удобно, строчные русские буквы на своём месте, так что текст без капсов, набранный в обычной CP-866, прекрасно читается (вместо заглавных букв выходит ивритица).

Заглавные буквы распихал где попало, пришлось даже область символов управления (00-1F) задействовать. Но я встроил в редактор специальный механизм, позволяющий отображать текст, набранный в CP-866 (или любой другой — карта настраивается) в шрифте, сделанном в этой моей модифицированной кодовой странице на базе CP-862.
Для украинских букв места не хватило, но если отказаться от размещения строчных букв на своих местах, то освободятся ещё 7 позиций, так что влезут все три буквы (×2).
А є там Юнікод?
ܐܝܕܗ ܠܗܒܐܫܥ, ܠܢܕّ ܡܘܥܐܗ ܐܢ ܪܝܣ̃ܡܗ
Éda lhóbàsang, lánd mùng'a ón rêshma
[ˈʔé̞dɐ̄ l̥ʰó̞ˈbàzɐ̀ŋ, ˌlán‿ˈmùŋʔɐ̀ ʔó̞n‿dɾə̞̂zʲmɐ̆̀]
Знание это сокровище, а умение учиться - ключ к нему

Eitanbor

Цитата: mnashe от марта 27, 2023, 13:20Вот такой кодовой страницей я пользуюсь в Multi-Edit'е уже много лет. Здесь ивритица на своём месте и, что очень удобно, строчные русские буквы на своём месте, так что текст без капсов, набранный в обычной CP-866, прекрасно читается (вместо заглавных букв выходит ивритица).

Заглавные буквы распихал где попало, пришлось даже область символов управления (00-1F) задействовать. Но я встроил в редактор специальный механизм, позволяющий отображать текст, набранный в CP-866 (или любой другой — карта настраивается) в шрифте, сделанном в этой моей модифицированной кодовой странице на базе CP-862.
Для украинских букв места не хватило, но если отказаться от размещения строчных букв на своих местах, то освободятся ещё 7 позиций, так что влезут все три буквы (×2).
А що там роблять символи B0-DF, можна запитати?
ܐܝܕܗ ܠܗܒܐܫܥ, ܠܢܕّ ܡܘܥܐܗ ܐܢ ܪܝܣ̃ܡܗ
Éda lhóbàsang, lánd mùng'a ón rêshma
[ˈʔé̞dɐ̄ l̥ʰó̞ˈbàzɐ̀ŋ, ˌlán‿ˈmùŋʔɐ̀ ʔó̞n‿dɾə̞̂zʲmɐ̆̀]
Знание это сокровище, а умение учиться - ключ к нему

Python

Цитата: mnashe от марта 27, 2023, 13:20Заглавные буквы распихал где попало, пришлось даже область символов управления (00-1F) задействовать.
В принципі, це те, що я пропонував вище, але деякі з кодів (08, 09, 0a, 0d) я б оминув. Якщо вивід здійснюється прямим записом у відеопам'ять текстового дисплея, графіку можна повісити й на них, але якщо виводити їх через стандартний вивід, то вони потрібні для керування рухом курсора, і їхні гліфи не відображатимуться.
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Python

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

Eitanbor

Цитата: Python от марта 27, 2023, 16:28
Цитата: Eitanbor от марта 27, 2023, 15:13А що там роблять символи B0-DF, можна запитати?
Очевидно, потрібні для малювання інтерфейсу Multi-Edit'а. Втім, якщо переробити його так, щоб він псевдографіку відображав символами базового ASCII, то цю область можна буде використати для якихось інших символів.
Це щє з MS-DOS?
ܐܝܕܗ ܠܗܒܐܫܥ, ܠܢܕّ ܡܘܥܐܗ ܐܢ ܪܝܣ̃ܡܗ
Éda lhóbàsang, lánd mùng'a ón rêshma
[ˈʔé̞dɐ̄ l̥ʰó̞ˈbàzɐ̀ŋ, ˌlán‿ˈmùŋʔɐ̀ ʔó̞n‿dɾə̞̂zʲmɐ̆̀]
Знание это сокровище, а умение учиться - ключ к нему

Python

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

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

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

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

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

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