Гювечи от Инжинера - сайта на инженер Генади Атанасов

Българска Кирилица за DOS. Работа с български DOS програми

Историята.

Компютрите са измислени от българин, но в USA и първоначално са пишели само на Английски. Понеже те не разбират от букви, а само от числа, се работи с кодови таблици - на всяка буква отговаря номер. Съответен драйвер се грижи като му се подаде номера (кода) на буквата, да я изобрази на екрана. Това се програмира в чипове на самото дъно, от производителите на компютри - Original Equipment Manufactures. Затова тази вътрешно вградена кодировка се нарича и OEM кодировка. Първоначално кодирането е било с по 7 бита на буква, или от 1 до 128. Това стига за цифри, препинателни знаци и Латиница, нарича е ASCI кодировка. Все още има мейл системи, които работят с 7-битово кодиране, през тях друго, освен Латиница не преминава.

Но клиентите говорим и пишем и на други езици! Затова се преминава към 8-битово (1байт) кодиране, от 1 до 256. Освобождава се място за още една азбука и за псевдографични знаци. За която и да е азбука, на която и е стандартизирана кодировката. Необходимите драйвери за съответните кодови таблици се предлагаха като част от ДОС. Продължаваха да ги наричат OEM/DOS кодировка, макар, че това не беше вече точно. По това време България беше водеща по компютри в целия СИВ, трансферираше технологии и Ноу-хау, а даже и готови решения от прогнилия запад към необятният съветски пазар. (превод на предното изречение - крадеше програми, реекспортираше ебмаргова ИТ продукция.) Имаше цял Централен Институт по Изчислителна Техника -ЦИИТ, пълен със специалисти. Измислиха тези специалисти кодова таблица за България. Чудесно подредена, нито един псевдографичен знак не се размества. Това се постига, като се ползват и за Латиница и за кирилица знаците с еднакво изписване. Умно!!! Акъл море - глава шамандура.

ЦИИТ таблицата обаче беше практически неизползваема. Например ако напишеш "ТУК НАСАМ" никой не може да разбере на кой език е това. Затова не може да се сортират данни и не може да се ползват файлови имена на Български. Беше времето, когато компютрите се рекламираха като "IBM съвместими". DOS принадлежеше на IBM, те бяха платили на Майкрософт да им го направи. Та по това време, от IBM многократно са ни искали да дадем кодова таблица за Български, за да я сложат в DOS. "Специалистите" упорито им пращали своето творение. А междувременно българите намираме и работим с годна кодова таблица, в която няма омесване Лат-Кир. Създадени са и многобройни драйвери за клавиатура и екран с тази кодировка. Безплатни драйвери! На който PE2 му говори нещо, той не е минал без такъв безплатен драйвер.

Тази реално използувана кодировка за ДОС се нарича МИК или 359. Известна е по целия свят като Bulgarian или МИК. Обаче тя никога не е влизала в никой стандарт или поне нормала. Никога не е подадена официално от българско име на IBM. Вероятно заради това тя не влиза официално нито в DOS, нито в Windows. Там влиза единственото, за което имаме стандарт - клавиатурната подредба по БДС. Ако ви действува успокоително, ще ви кажа, че не сме само ние. Руснаците и Украинците имат повече от две кодови таблици за ДОС. И другите страни с Кирилица се борят с въпроса като прасета с цяла тиква по нанадолнище. Като резултат има 30-тина кодови таблици с Кирилица за ДОС. И на самият Windows не му бие чука на едно място по въпроса какво е Cyrillic(DOS). За IExplorer това е CP866 (една от руските). За MSWord и WordPad при Save As и Open As ... MS-DOS text това е таблицата, изкарана на системно ниво. За 9хх - Me настроени за България - CP855.

Тоест, ако някой ви каже, че нещо е писано с ДОС-овска Кирилица или че ви предлага "Кирилизатор за ДОС" - все едно, че нищо не ви казва. Не, всъщност казва: "Аз съм мошеник а ти-балама. Ей сега ще ти взема парите!"

ДОС, Windows и кодовите таблици.

ДОС работи само с една кодова таблица от 256 знака. Няма пречка тя да е с някоя Кирилица, например споменатата по-горе МИК. Намерени са и начини за печат на текстове с Кирилица по МИК. За времето си всичко бе точно. Разработиха се добри програми за ДОС вършещи полезни неща. Някои от тях са нужни и до днес.

Тогава дойде Windows 95 и следващи. За един език извън Латиницата се поддържат три кодови таблици. Две еднобайтови (от 1 до 256) едната за ДОС и едната по ANSI. Досовските таблици за Кирилица са трийсетина, но ANSI таблицата е една, с нея пишем във MSWord 6/95. Третата таблица е двубайтова, нарича се Unicode. Тя е достатъчно голяма и е за всички езици, разните азбуки са на отделни номера и не се объркват. Съответния език трябва да се избере при инсталацията, за да се яви пълната поддръжка на трите му таблици. Тази поддръжка е толкова пълна, че човек, ако не е маниак няма да разбере, че има три таблици. Можем да отворим три отделни прозореца: ДОС-овски текстов редактор - Pe2 или EDIT, програма с ANSI кодировка - MSWord 6/95 и Unicode програма - MSWord 97, и текстовете на Кирилица ще се копват и пействат коректно от прозорец в прозорец. ДОС - овските текстове се отварят и от грамотни програми с Open - As MS DOS Text. Използването на Кирилица във файлови имена и директории е абсолютно без проблем. Даже спасителната дискета, която Windows прави през контрол панела си има драйвери за Кирилица и при старт от нея имаме достъп до директориите и файловете с Кирилишки имена. Пей сърце!

Обаче старите ви файлове, правени под ДОС не се четат, а менютата на ДОС-овските програми са "на маймуни". Windows 95-98-Me при извадена България на системно ниво работи с кодова таблица CP855, а не с Българската МИК таблица. ВСЪЩНОСТ БЪЛГАРСКАТА КОДОВА ТАБЛИЦА НЕ СЪЩЕСТВУВА В ПРАВНО-ЮРИДИЧЕСКИЯ СВЯТ НА НОРМАЛИТЕ И СТАНДАРТИТЕ.

Трите DOS Кирилишки кодови таблици с които се сблъсква българският Уйндосжия

CP866 - W95, 98 и Me с Русия за системна страна, NT4, 2000, XP, 2003 с коя да е Кирилишка страна на системно ниво, освен Serbian (Syrillic)

Касае и файлови имена на Кирилица върху FAT дялове.

Нестандартна MIC (МИК) Това трябва да се изкара на българска DOS програма, за да работи.

CP855 - W95, 98 и Me с България за системна страна, NT4, 2000, XP, 2003 със страна на системно ниво - Serbian (Syrillic)

Касае и файлови имена на Кирилица върху FAT дялове.

1251.png

 

Windows 1251 - за сравнение.

 

Как все пак да работим с Български ДОС програми - решения.

Съществуват средства, т. нар. "кирилизатори" които в различна степен успяват да насилят Windows да работи с МИК кодиране. Резултата е като с всяка хакната програма - неустойчива работа, неизвестно докога. За съжаление лакомията на продавачите на тези "кирилизатори" се оказа по-голяма от морала им. Факта, че "кирилизаторите" променят Windows на системно ниво и не трябва да се ползват без нужда грижливо се крие в рекламните им кампании. Също и това, че от Кирилизатор се нуждаят само работещи със стари Български ДОС-овски програми. Като добавка, не може просто да пробвате "кирилизатор", понеже той не се деинсталира и с една проба си развалате Windows-а.

При направената от мен проверка с АЖУР- класическа ДОС програма, се оказа, че и това не така. МИК кодировката никога не може да работи безпроблемно като собствената Windows-ска кодировка за ДОС. Затова трябва да се примирим с частично присаждане на МИК кодировка в един отделен ДОС промпт, разпънат на цял екран. Такова присаждане става най-добре на Windows без "кирилизатор". Така не се нарушава безупречното действие на собствената Кирилица, включително и шернати имена на Кирилица в мрежа. Само, че при NT4 и наследници - 2000 и XP това пресаждане на МИК кодировка в команден промпт става по-трудно. Те са по-корави като операционни системи и по трудно поемат изменения. Оказа се също, че някои от ДОС програмите вървят на 400MHZ, но на 1200 дават "Runtime error". ТОГАВА? Не пречи да си пуснем истински ДОС.

Предлагам ви следните проверени варианти за работа с български DOS програми:

  • Кирилизатор по МИК за отделен DOS прозорец, разпънат на цял екран. Тук е и обяснението как да отпечатаме DOS файл на Windows принтер. За 9хх - Me. Понякога работи и над NT4 - 2000 - XP   -->

  • Кирилизатор по МИК за отделен DOS прозорец, фонтове + клавиатурен драйвер. За NT4 - 2000 - XP прави се

  • Истински DOS с МИК Кирилица. За потребители и програмисти.   -->

  • Печат с Българска Кирилица от DOS прозорец на ВСЕКИ Windows принтер чрез прехващане на LPT1.   -->

|
начало | кирилизация на уиндоус - канелка | кирилизация на програми | още гювечи | четене | отговори | автора | ^горе^ |

Направено на 03 Ноември 2002      Последна корекция на 03 Януари 2004