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

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

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

Eitanbor

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

Python

Цитата: Eitanbor от марта 27, 2023, 23:262) Чи можна на MS-DOS використовувати графічні відеорежими з Unicode'ом та Widechar'ом замість текстових?
Можна ще з часів CGA, але це не так цікаво, і там зовсім інший підхід.
Якщо ж ми хочемо працювати з текстовою відеопам'яттю, то схоже, що ні, але можна забезпечити підтримку підмножини юнікоду за допомогою саморобної кодової сторінки. Тобто, можна зробити текстовий редактор для файлів в UTF-8, що містять латиницю, кирилицю й іврит одночасно, який працюватиме під чистим MS-DOS у текстовому режимі, конвертуючи utf-8 у коди цієї сторінки. Якщо треба щось за межами цієї підмножини (напр., глаголиця, руни чи просто символ, що не потрапив до нашої кодової сторінки), то такий редактор відобразити це не зможе, звичайно.

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

Python

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

Eitanbor

Цитата: Python от марта 28, 2023, 00:09
Цитата: Eitanbor от марта 27, 2023, 23:261) Тоді як його запускати без емуляторів?
Навіщо без емуляторів? Тобто, так, можна паралельно поставити MS-DOS як ще одну операційну систему й працювати без емулятора, але в чому проблема запускати з емулятором?
Не у всіх він є (якщо, звісно, не йде мова про ретрокомпьютинг. Тоді це нишеве, для 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

Eitanbor

Цитата: Python от марта  1, 2014, 02:58Якщо ж мова йде про історичні правописи, мені здається, простіше використовувати UTF-8, де всі чи більшість історичних літер кирилиці або вже є, або можуть бути замінені візуально схожими символами. Недолік такого способу — неможливість використовувати юнікод у застарілому програмному забезпеченні, розрахованому на 8-бітне кодування. Звичайно, можна погратися (напр., узяти CP1251 і замінити частину символів історичними літерами), але зробити таке кодування загальноприйнятим стандартом буде складно — UTF-8 насьогодні значно поширеніше й має деякі переваги перед 8-бітними кодуваннями.
На Windows 10 можна поставити 8-бітне кодування не тільки різноманітні кодування, такі як Windows-1251, але навіть UTF-8
ܐܝܕܗ ܠܗܒܐܫܥ, ܠܢܕّ ܡܘܥܐܗ ܐܢ ܪܝܣ̃ܡܗ
Éda lhóbàsang, lánd mùng'a ón rêshma
[ˈʔé̞dɐ̄ l̥ʰó̞ˈbàzɐ̀ŋ, ˌlán‿ˈmùŋʔɐ̀ ʔó̞n‿dɾə̞̂zʲmɐ̆̀]
Знание это сокровище, а умение учиться - ключ к нему

Andrey Lukyanov

EGA/VGA дозволяє використовувати 512 символів одночасно, але за рахунок використання меншої кількості кольорів (8 замість 16).

Eitanbor

Цитата: Andrey Lukyanov от марта 28, 2023, 09:34EGA/VGA дозволяє використовувати 512 символів одночасно, але за рахунок використання меншої кількості кольорів (8 замість 16).
Менша кількість кольорів на символ, чи на фон?
ܐܝܕܗ ܠܗܒܐܫܥ, ܠܢܕّ ܡܘܥܐܗ ܐܢ ܪܝܣ̃ܡܗ
Éda lhóbàsang, lánd mùng'a ón rêshma
[ˈʔé̞dɐ̄ l̥ʰó̞ˈbàzɐ̀ŋ, ˌlán‿ˈmùŋʔɐ̀ ʔó̞n‿dɾə̞̂zʲmɐ̆̀]
Знание это сокровище, а умение учиться - ключ к нему

Andrey Lukyanov

Цитата: Eitanbor от марта 28, 2023, 10:11
Цитата: Andrey Lukyanov от марта 28, 2023, 09:34EGA/VGA дозволяє використовувати 512 символів одночасно, але за рахунок використання меншої кількості кольорів (8 замість 16).
Менша кількість кольорів на символ, чи на фон?
Начебто на символ.

DarkMax2

Як програміст, мушу зазначити, що ASCII дуже зручна і подекуди незамінна. Звісно, якщо ти працюєш із простими текстами, простими повідомленнями, які не вимагають нестандартних символів.
Не можу бажати зникнення цьому кодуванню.
Tej wojny nikt za nas nie wygra! © Wiedźmin III
Коли зчинять лемент: "Хто ж знав?!" — відповімо: "Ми".

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

Eitanbor

Цитата: DarkMax2 от марта 28, 2023, 11:55Як програміст, мушу зазначити, що ASCII дуже зручна і подекуди незамінна. Звісно, якщо ти працюєш із простими текстами, простими повідомленнями, які не вимагають нестандартних символів.
Не можу бажати зникнення цьому кодуванню.
Ба більше, UTF-8 сумісний з ASCII
ܐܝܕܗ ܠܗܒܐܫܥ, ܠܢܕّ ܡܘܥܐܗ ܐܢ ܪܝܣ̃ܡܗ
Éda lhóbàsang, lánd mùng'a ón rêshma
[ˈʔé̞dɐ̄ l̥ʰó̞ˈbàzɐ̀ŋ, ˌlán‿ˈmùŋʔɐ̀ ʔó̞n‿dɾə̞̂zʲmɐ̆̀]
Знание это сокровище, а умение учиться - ключ к нему

mnashe

Адепт единственного числа и безродового склонения
שָׁלוֹם עֲלֵיכֶם!

Andrey Lukyanov

Цитата: mnashe от марта 28, 2023, 21:13
Цитата: Eitanbor от марта 27, 2023, 15:11А є там Юнікод?
Нема, це DOS-програма.
DOS-програма також може використовувати Юнікод. Але всі перекодування вона повинна робити сама.

mnashe

Offtop
Поправляйте, пожалуйста, мои ошибки, если заметите

Цитата: Python от марта 27, 2023, 16:12Якщо вивід здійснюється прямим записом у відеопам'ять текстового дисплея, графіку можна повісити й на них, але якщо виводити їх через стандартний вивід, то вони потрібні для керування рухом курсора, і їхні гліфи не відображатимуться.
Так :yes:

Цитата: Python от марта 27, 2023, 16:28
ЦитироватьА що там роблять символи B0-DF, можна запитати?
Очевидно, потрібні для малювання інтерфейсу Multi-Edit'а
Рамка на моєму скриншоті ілюструє використання псевдографіки.
Без неї неможливо робити таблиці, багато елементів інтерфейсу...

Цитата: Python от марта 27, 2023, 21:19Так кажете, ніби є щось погане в користуванні софтом, який їсть кілобайти оперативки замість гігабайтів, при тому ж функціоналі.
Так, без нього я як без рук.

Цитата: Eitanbor от марта 27, 2023, 23:261) Тоді як його запускати без емуляторів?
Емулятор встановити простіше ніж віртуалку, але це дуже незручно. По-перше, емуляція працює дуже повільно. По-друге, емулятор емулює лише DOS, але моя програма вміє інтегруватись у Windows: запускати програми, працювати з Clipboard та з LFN (long file names). В емуляторі все це недоступно.

Цитата: Eitanbor от марта 27, 2023, 23:262) Чи можна на MS-DOS використовувати графічні відеорежими з Unicode'ом та Widechar'ом замість текстових?
Це можливо, якщо переробити програму. Але це дуже багато роботи.
Цитата: Andrey Lukyanov от марта 28, 2023, 09:34EGA/VGA дозволяє використовувати 512 символів одночасно, але за рахунок використання меншої кількості кольорів (8 замість 16).
Більш ніж 20 років тому я ще планував зробити цю фічу, після важливіших за неї змін: використання XMS, довги строки (рядки?). Але руки не дійшли навіть до цього: строка залишилася ≤ 254, доступна пам'ять ≈ 500 КБ...

Цитата: Python от марта 28, 2023, 00:06Якщо ж ми хочемо працювати з текстовою відеопам'яттю, то схоже, що ні, але можна забезпечити підтримку підмножини юнікоду за допомогою саморобної кодової сторінки. Тобто, можна зробити текстовий редактор для файлів в UTF-8, що містять латиницю, кирилицю й іврит одночасно, який працюватиме під чистим MS-DOS у текстовому режимі, конвертуючи utf-8 у коди цієї сторінки. Якщо треба щось за межами цієї підмножини (напр., глаголиця, руни чи просто символ, що не потрапив до нашої кодової сторінки), то такий редактор відобразити це не зможе, звичайно.
В епоху DOS я перемикав кодові сторінки a.k.a. шрифти двома кликами :)
Але у вікні це неможливо, там завжди використовується вибраний шрифт.
Тому я додав вишезгаданий remapper.

Цитата: Python от марта 28, 2023, 01:16Якщо вісімка чи щось старіше, то додатково встановлювати емулятор для ДОС ще непотрібно, наскільки я розумію.
Ні, це не залежить від версії Windows. Я запускаю Multi-Edit у Windows XP, у Windows 7 32 бiт, у Windows 10 32 бiт (зараз я маю все це в віртуальних машинах). Але не можу запустити її у 64-бiтних системах.
Адепт единственного числа и безродового склонения
שָׁלוֹם עֲלֵיכֶם!

mnashe

Цитата: Andrey Lukyanov от марта 28, 2023, 21:40DOS-програма також може використовувати Юнікод. Але всі перекодування вона повинна робити сама.
Це як? :o
(Ми говорили про відображення, не про файли, там зрозуміло що можна).
Адепт единственного числа и безродового склонения
שָׁלוֹם עֲלֵיכֶם!

mnashe

Цитата: Andrey Lukyanov от марта 28, 2023, 11:19Начебто на символ.
Так.
Третій (=старший) біт кольору фону можна використати як blink, третій біт кольору символу можна використати як поширення символьного байту.
Адепт единственного числа и безродового склонения
שָׁלוֹם עֲלֵיכֶם!

Eitanbor

Цитата: mnashe от марта 28, 2023, 21:52Ні, це не залежить від версії Windows. Я запускаю Multi-Edit у Windows XP, у Windows 7 32 бiт, у Windows 10 32 бiт (зараз я маю все це в віртуальних машинах). Але не можу запустити її у 64-бiтних системах.
Можна цю программу перекомпілювати на 32/64 біти?
ܐܝܕܗ ܠܗܒܐܫܥ, ܠܢܕّ ܡܘܥܐܗ ܐܢ ܪܝܣ̃ܡܗ
Éda lhóbàsang, lánd mùng'a ón rêshma
[ˈʔé̞dɐ̄ l̥ʰó̞ˈbàzɐ̀ŋ, ˌlán‿ˈmùŋʔɐ̀ ʔó̞n‿dɾə̞̂zʲmɐ̆̀]
Знание это сокровище, а умение учиться - ключ к нему

Python

Offtop
Цитата: mnashe от марта 28, 2023, 21:52Поправляйте, пожалуйста, мои ошибки, если заметите
Цитата: mnashe от марта 28, 2023, 21:52довги строки (рядки?)
Так, довгі рядки. Слова  «строка» нема (є слово «строк» чоловічого роду, еквівалентне рос. «срок»). Дехто з україномовної колокомп'ютерної спільноти пропонує використовувати слово «стрічка» (причому, пропонується вживати лише в значенні string, а line перекладати як «рядок»), але, ІМНО, це неправильно — в українській літературі випадки використання слова «стрічка» в значенні «рядок тексту» надто рідкісні, і в ХХ ст. це не практикувалось; основне ж значення слова «стрічка» відповідає рос. «лента» (напр., «стрічка новин»).
Цитата: mnashe от марта 28, 2023, 21:52двома кликами
двома кліками
Цитата: mnashe от марта 28, 2023, 22:05третій біт кольору символу можна використати як поширення символьного байту.
Краще розширення, продовження чи доповнення. «Поширення» сприймається як синонім «розповсюдження».
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

mnashe

Offtop
Дякую, Пѵѳоне!
Здається, я зустрічав слово «стрічка», але не «строка».
А, «поширення» використовується як переклад Share, так?
Ага, розширення = расширение, це точно що я хотів сказати, але не пам'ятав, чи воно є в українській.
Адепт единственного числа и безродового склонения
שָׁלוֹם עֲלֵיכֶם!

mnashe

Адепт единственного числа и безродового склонения
שָׁלוֹם עֲלֵיכֶם!

mnashe

x86 real mode фактически можно считать отдельной архитектурой, в сравнении с x86 protected mode и тем более с режимом 64 бит. Так что портирование DOS-программ на Windows — того же уровня задача, что и портирование на Android, и даже, наверно, сложнее, чем портирование с Windows на Android, хотя в последнем случае совсем другая система команд, а тут 90% команд совпадают, но полное различие схемы памяти и принципов работы с лихвой перекрывает общность команд.
Даже если бы программа была написана на языке высокого уровня, это была бы огромная работа, а тем более когда всё ядро написано на ассемблере.
(Изначальная версия американского Multi-Edit'а, на которой я основывался, написана на Turbo Pascal, но я её полностью дизассемблировал и переделал; от первоначального кода сохранилось порядка 20%, и то оптимизированного мной, и от нынешней версии этот код составляет порядка 5–7%).
Адепт единственного числа и безродового склонения
שָׁלוֹם עֲלֵיכֶם!


Eitanbor

Цитата: mnashe от марта 29, 2023, 09:54x86 real mode фактически можно считать отдельной архитектурой, в сравнении с x86 protected mode и тем более с режимом 64 бит. Так что портирование DOS-программ на Windows — того же уровня задача, что и портирование на Android, и даже, наверно, сложнее, чем портирование с Windows на Android, хотя в последнем случае совсем другая система команд, а тут 90% команд совпадают, но полное различие схемы памяти и принципов работы с лихвой перекрывает общность команд.
Даже если бы программа была написана на языке высокого уровня, это была бы огромная работа, а тем более когда всё ядро написано на ассемблере.
Можно использовать программу-конвертер; а также писать на Kotlin
Цитата: mnashe от марта 29, 2023, 09:54(Изначальная версия американского Multi-Edit'а, на которой я основывался, написана на Turbo Pascal, но я её полностью дизассемблировал и переделал; от первоначального кода сохранилось порядка 20%, и то оптимизированного мной, и от нынешней версии этот код составляет порядка 5–7%).
Это вообще-то законно? Они разрешают?
ܐܝܕܗ ܠܗܒܐܫܥ, ܠܢܕّ ܡܘܥܐܗ ܐܢ ܪܝܣ̃ܡܗ
Éda lhóbàsang, lánd mùng'a ón rêshma
[ˈʔé̞dɐ̄ l̥ʰó̞ˈbàzɐ̀ŋ, ˌlán‿ˈmùŋʔɐ̀ ʔó̞n‿dɾə̞̂zʲmɐ̆̀]
Знание это сокровище, а умение учиться - ключ к нему

mnashe

Цитата: Andrey Lukyanov от марта 29, 2023, 10:24Все беды — от излишней оптимизации.
Не, до оптимизации это с трудом читалось из-за обилия мусора.
И сейчас то, что оптимизировано меньше всего (функция поиска с регулярными выражениями), едва читается.
Адепт единственного числа и безродового склонения
שָׁלוֹם עֲלֵיכֶם!

mnashe

Цитата: Eitanbor от марта 29, 2023, 12:28Это вообще-то законно? Они разрешают?
Сомневаюсь. Но я их не спрашивал. И программу не продавал, для себя делал.
(Правда, продавал свою программу, опирающуюся на мою переделку, но тоже в довольно узком кругу: в школах одной религиозной сети).
Адепт единственного числа и безродового склонения
שָׁלוֹם עֲלֵיכֶם!

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

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

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

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

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