[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: nsgmls charset



On Sat, Feb 14, 1998 at 03:51:39PM +0200, Vladimir Bormotov wrote:

>  Как отучить nsgmls ругаться на русские буквы?
>  Что-то я совсем не пойму как нужно выставлять SP_CHARSET_FIXED,
>  SP_ENCODING (и нужно ли вообще)...

    ftp://ftp.ptc.spbu.ru/people/uwe/sgml/

koi8r.dcl		{INPUT}

    - SGML declaration для алфавитной части koi8-r.  Расчитана на
      SP_CHARSET_FIXED, т.к. jade работает в таком режиме.  Он
      несколько более навернут, чем надо, так как позволяет русские
      буквы в именах (элементов &c), но можно посмотреть и упростить.
      Откомментирован вроде боле-менее подробо.

sp-1.2-koi8r.pch	{OUTPUT}

    - патч добавляет значение опции -bKOI8-R (или -bKOI8)


$ SP_CHARSET_FIXED=1
$ export SP_CHARSET_FIXED
$ nsgmls -bKOI8-R koi8r.dcl '<osfile bctf=identity>'input.sgml

Аналогично с Jade, но там надо слегка изворачиваться, т.к. style sheet
и сам документ это два разные SGML документа и у каждого может быть
(нужен) свой SGML declaration.  Можно просто добавить в начало .dsl
файла.

Может это все немного тяжеловесно, но зато *абсолютно* кошерно - а уж
Кларка я, наверное, достал хуже некуда.  Причем мне еще не повезло,
так как я это прикручивал к jade-0.9, в котором был какой-то баг, при
попытке отлова которого gdb с грохотом падал, пытаясь показать нeкие
структуры, как раз относящиеся к charset'am.  С jade-1.0 все зажило
без малейших проблем (и малейших изменений).

В декларации есть URL'ка очень толковой OmniMark'овской статьи, там
можно подробно прочитать про charset'ы.  *Настоятельно* советую!
Очень "нужное и своевременное" чтение.

Базовая идея заключается том, что внутренний charset у sp в fixed
режиме - это Unicode.  Декларация входной koi8-r отображает в Unicode.
Опция -b контролирует в каком charset'е выводить.  Если лень применят
патч, можно выводить в 8859-5 и любым транслитератором в koi8 (я так и
делал, когда отлаживал (откладывал?;) declaration).


>  PS Локаль русская, LANG=koi8-r

Не играет роли.


SY, Uwe
-- 
uwe@ptc.spbu.ru                         |       Zu Grunde kommen
http://www.ptc.spbu.ru/~uwe/            |       Ist zu Grunde gehen