[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