Česká znaková sada TCHEKO

Radek Štěrba, RASTER 1995

V tomto článku bych se chtěl věnovat popisu nově vymyšlené znakové sady TCHEKO.FNT.

Pro psaní českého textu je nejpoužívanější textový editor Čapek. Má vlastní znakovou sadu, která obsahuje i znaky s diakritickými znaménky. Protože tuto sadu nepovažuji za vhodně zvolenou, zabýval jsem se sestavováním nové sady pro češtinu. Mnou navržená sada má oproti Čapkovi tyto výhody:

Maximální kompatibilita se standardní ASCII sadou:

Znaky 32 až 126 jsou naprosto shodné s ASCII sadou, kterou používají vyšší počítače. Tato část sady je rovněž hodně blízká ATASCII (ROM sada v 8-bitovém Atari $E000-$E400). Odlišuje se od ní pouze v těchto 4 znacích:

(kód - znak ATASCII - znak TCHEKO (stejné s ASCII))

96 - karetní znak - opačný apostrof

123 - karetní znak - levá složená závorka

125 - znak smazání obrazovky - pravá složená závorka

126 - znak "delete" - vlnovka

Logické uspořádání češtiny:

Při návrhu rozmístění českých znaků jsem bral ohled hlavně na to, aby bylo možné psát touto sadou i mimo textový editor. České znaky jsou umístěny na kódech 1 až 31, takže se dají vyvolat pomocí CONTROL. Rozmístění je logické, takže např. á

dostaneme stlačením CTRL+a, í přes CTRL+i atd. Protože u některých písmen lze použít několik znamének, jsou rozestavěny tak, aby byly pokud možno co nejblíže k písmenu, od kterého jsou odvozeny.

Q W E R T Y U I O P - =
Á é ě ř ť ý ú í ó Ó Ť Ý   

A S D F G H J K L ; + *
á š ď Ě É Ú ů Ů Í   Ř Š 

Z X C V B N M
ž Ž č Č Ď ň Ň

Znak ESC:

Znak escape byl do sady zařazen a je umístěn na obvyklém místě - kód 27.

Ostatní znaky:

Dva znaky byly vyhrazeny pro speciální účel, a to je zobrazení konce odstavce (šipka směřující vlevo-dolů) a znak pro zobrazení neexistujících mezer (tečka, popřípadě prázdný znak). Těmto znakům byly přiřazeny kódy 127 a 0.

Celkový popis kódování sady TCHEKO.FNT:

00 ..Znak vyhrazený pro zobrazování neexistujících mezer.
01 á
02 Ď
03 č
04 ď
05 ě
06 Ě
07 É
08 Ú
09 í
10 ů
11 Ů
12 Í
13 Ň
14 ň
15 ó
16 Ó
17 Á
18 ř
19 š
20 ť
21 ú
22 Č
23 é
24 Ž
25 ý
26 ž
27 Esc
28 Ř
29 Š
30 Ť
31 Ý
32 až 95 ..Tyto znaky jsou shodné s ATASCII (a ASCII) sadou.
96 Obrácený apostrof
97 až 122 ..Tyto znaky jsou shodné s ATASCII (a ASCII) sadou.
123 Levá složená závorka
124 Svislá čárka (přerušená)
125 Pravá složená závorka
126 Vlnovka
127 ..Znak vyhrazený pro zobrazení konce odstavce (šipka vlevo-dolů).

Upřesnění:

Jako kód konce řádku (EOL - end of line) je používáno číslo 155, tj. standardní Atari EOL (stejné s ATASCII). Znaky 0 a 127 jsou určeny pouze pro zobrazování (pro zvýraznění neexistujících mezer na koncích řádků a pro zvýraznění konců odstavců) a nemají být tedy používány v textovém souboru formátu TCHEKO.

Pokud budete texty v kódování TCHEKO tisknout BASICovským příkazem PRINT, může u některých znaků dojít k obtížím. A to u těch, na jejichž místech byly původně znaky vyvolávající řídící funkce (směrové šipky, smazání obrazovky, atd.). Proto doporučuji před započetím tisku provést POKE 766,1 a po skončení tisku POKE 766,0. Díky tomu bude provedení řídících funkcí nahrazeno vytisknutím příslušných znaků (stejně jako po ESC).

Důvody pro používání této sady:

Je pravdou, že textový editor Čapek (a jeho kódování češtiny) je na Atari určitě nejpoužívanější, ale má tyto základní nedostatky:

Ve znakové sadě neexistuje definovaný standard (alespoň jsem se o žádném nedoslechl). Někteří ataristé si znaky předefinovávají (prý byl u Čapka zveřejněn přesný popis, jak to udělat). To má ovšem neblahé následky - nikdo nezaručí, že pod daným číslem najdete právě ten znak, který tam má Váš Čapek. Některé znaky jsou tak nahrazeny jinými nebo někam přesunuty a vzniká chaos. V mnou zkoumané verzi chybí znak procento, znak "and", apostrof, mocnítko, opačné lomítko, obě hranaté závorky, znak zvaný "zavináč" (ATASCII kód 64), levá složená závorka (paradoxně pravou složenou závorku má). Přitom některé z těchto znaků jsou velmi potřebné. Nevím ani, zda tam tyto znaky nebyly nikdy, nebo zda je někdo zrušil.

Co se týče rozmístění znaků, to je kapitola sama pro sebe. Některé znaky jsou na naprosto nepochopitelných místech (např. znak "(" je pod kódem 6 a na jeho místě je "ž", obdobně je to u znaků *, +, -, $ a dalších). Souvislost ostatních českých písmen s jejich umístěním jsem nenašel. Snad ani žádná neexistuje, proto psát text pro znakovou sadu ČAPEK jinak než v textovém editoru Čapek je velmi obtížné.

Poznámka:

Jistě znáte textový editor TextWriter od Jana Wally. Tento editor je skvělý v tom, že používá znakovou sadu o 256 znacích (standardní ASCII sada - čeština bratří Kamenických). Z tohoto důvodu je však nutné tisknout znaky v grafickém módu a není možné využívat výhody rychlého a snadného zobrazování textů v textovém módu. Problémem spojeným s používáním TCHEKO sady zůstává neexistence textového editoru, který by s touto sadou pracoval. Jako řešení nabízím převaděč textových souborů formátu KAMENICKÝCH na TCHEKO. S kódováním "Kamenických" se setkáte na PC a jiných vyšších počítačích (Amiga, ST, ..). Na našem Atárku v něm pracuje TextWriter (znovu opakuji: skvělý editor!!!). Převaděč z Čapka do TCHEKO by neměl přílišný význam, neboť Čapek nemá všechny znaky, které nabízí sada TCHEKO (a má některé slovenské znaky, které v TCHEKO nejsou). Obdobné problémy jsou spjaty s převodem opačným. Mimochodem, TextWriter má import Čapka, takže převod do kódování "Kamenických" můžete provést pomocí něj.

Uvedené sady TCHEKO1.FNT a TCHEKO2.FNT nabízím k volnému používání (jejich kódování znaků je stejné - liší se jen stylem písma). Byl bych rád, kdyby se toto kódování českých i ostatních znaků stalo novým standardem na Atari. Prosím, neměňte kódování této sady, aby nedošlo k obdobným problémům jako u Čapka.

Jako příponu u jmen textových souborů s kódováním češtiny TCHEKO navrhuji používat TCH (přesněji tedy .TCH).