From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ivan Zakharyaschev To: Subject: Re: [devel] mova In-Reply-To: <20001118032421.B5941@LDV.fandra.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=koi8-r Content-Transfer-Encoding: 8BIT Sender: devel-admin@linux.iplabs.ru Errors-To: devel-admin@linux.iplabs.ru X-BeenThere: devel@linux.iplabs.ru X-Mailman-Version: 2.0beta6 Precedence: bulk Reply-To: devel@linux.iplabs.ru List-Help: List-Post: List-Subscribe: , List-Id: IPLabs Linux Team Developers mailing list List-Unsubscribe: , List-Archive: http://www.logic.ru/pipermail/devel/ X-Original-Date: Sat, 18 Nov 2000 21:11:54 +0300 (MSK) Date: Sat, 18 Nov 2000 21:11:54 +0300 (MSK) Archived-At: List-Archive: List-Post: Здравствуйте! On Sat, 18 Nov 2000, Dmitry V. Levin wrote: > легко научить перекодировать в любую кодировку, поддерживаемую glibc, > используя простой фильтр: iconv -f koi8-r -t `locale charmap` А имена у charmap'ов всегда совпадают с названиями кодировок, известными glibc? Это хорошо, а то бы три разных похожих вещи получилось: charmap для консольных шрифтов, таблицы кодировок glibc и charset для документов (по какому-то стандарту для email и www: IANA). А так только две. Меня интересует, есть ли какой-нибудь инструмент для перехода от charset документа к charmap терминала, т.е. способ узнать, способен ли терминал с текущим charmap нормально отображать документ в заданной charset, а также какая charset должна быть указана в документе, набранном на этом терминале (или набор возможых charset)? Пока многие консольные программы пытаются сами решать проблемы, связанные с этим: pine, Mutt, lynx, links, mc. В lynx'е даже появилась экпериментальная "фича": вместо того, чтобы перекодировать документ так, чтобы его можно было показать, изменить charmap консоли (загрузить другой консольный шрифт). Самое примитивное решение у pine: срашивать у пользователя, какую document charset может показывать его терминал, и предупреждать, когда кодировка документа не соответсвует ей. Более продвинутое: спрашивать у пользователя, какую document charset показывает терминал, основываясь на этом, перекодировать в нее документ, если нужно. Также предоставить пользователю возможность перейти в raw mode. При таком решении в программе нужно либо хранить таблицы перекодировок между document charsets, либо хранить таблицы соответсвия названий document chasret и "системных кодировок" (известных glibc) и пользоваться системными функциями для перекодировки. Еще более продвинутое: определять по charmap, какие документы можно показывать, перекодировать, если нужно. Есть два варианта: при перекодировке основываться на именах document charsets или системных кодировок. Здесь программа должна знать все то же, что и в предыдущем решении, плюс соответсвия межды document charsets и charmap'ами. Если charmap'ы и системные кодировки совпадают, то одной проблемой меньше. Можно было бы как-нибудь сделать единый инструмент/базу данных для совершения таких преобразований, которым все консольные программы, показывающие документы, могли бы пользоваться. -- Best regards, Ivan Z. _______________________________________________ Devel mailing list Devel@linux.iplabs.ru http://www.logic.ru/mailman/listinfo/devel