Nejasnosti okolo CTYPE v cs_CZ

Michael Mraka michael na informatics.muni.cz
Čtvrtek Leden 6 16:26:55 CET 2000


% > Aha - uz asi zacinam chapat. Pod "definovane" jsem myslel, ze mam
% > jmenovat nejaky standard typu ISO-8859-2. A vy jste asi chtel, abych
% > napsal, ze priznak PRINT je testovan funkci isprint()... Tj. do C
% > programu staci napsat cosi jako printf("%d\n", isprint(0xA0)).

No spis nez priznak se jedna o kategorii, do ktere ten znak spada (ale to
je stejne jenom o slovickach :-).

% > V definici lokalizaci /usr/share/i18n/locales/cs_CZ v sekci LC_CTYPE
% > pridat slovo print a za nim kod znaku 160 (neznam ho - nutno vyhledat).
% > Po oprave tento soubor staci zkompilovat prikazem localedef.

cs_CZ:
...
LC_CTYPE
copy "en_DK"
END LC_CTYPE
...

en_DK:
...
space   <SP>;<LF>;<VT>;<FF>;/
        <CR>;<HT>;<NS>

alpha   <A>;<B>;<C>;<D>;<E>;<F>;<G>;/
...
        <x>;<y>;<z>;<-->;<A!>;<A'>;/
...

Takze znak <NS> (netisk. mezera) je mezera, ktere by IMHO meli byt
tisknutelne. Ale nejsou; manova stranka k locale rika, ze do 'print'
patri implicitne upper,  lower,  alpha, digit, xdigit, punct a znak
<space>, coz je asi ta zasadni chyba, protoze bud
 a) by to mela byt kategorie 'space'
 b) nebo by kategorie 'space' mela do 'print' byt pridana explicitne.
Ach jo, to je ale blba chyba (nebo vlastnost).
Zkusim to zkonzultovat s autorem.

Co se tyka soft hyphen (<-->), je to podle mne zcela spravne (myslim, to ze
je 'alpha').

--mm                                                            Michael Mráka
                                                        michael(at)fi.muni.cz 


Další informace o konferenci Linux