ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] Q: fortune-mod and locale
@ 2003-05-27  9:18 Alexey I. Froloff
  2003-05-27  9:27 ` Alexander Bokovoy
  0 siblings, 1 reply; 12+ messages in thread
From: Alexey I. Froloff @ 2003-05-27  9:18 UTC (permalink / raw)
  To: ALTLinux devel

[-- Attachment #1: Type: text/plain, Size: 1417 bytes --]

Сказано - сделано, потом подумано...

Сделал я fortunes-ALT и подумал, что использовать одну кодировку
нехорошо. Соответсвенно захотелось научить fortune(6) выпирать
правильную, алгоритм предлагаю следующий:

Локаль выглядит как [language[_territory][.codeset][@modifier]]
(если верить SUSv3 ;-)
При добавлении файла "file" в список источников проверять на
доступность (если у нас full_locale не "POSIX", "C" или ""):

file-full_locale
file-language_territory
file-language
file

Другой вариант основан на том, что fortune принимает аргументом
полное имя файла, каталог, или имя файла из FORTDIR/OFFDIR.
Последовательность перебора следующая:

FORTDIR/full_locale/file
FORTDIR/language_territory/file
FORTDIR/language/file
FORTDIR/file

Преимущества второго варианта в том, что можно указать каталог
или полный путь до файла и fortune будет работать именно с этим
каталогом или файлом, и при этом не портится имя самого файла
(fortune отбрасывает файлы с недопустимыми расширениями и
определяет "оскорбительные" цитатники по "-o" в конце имени).

Вопрос - откуда брать full_locale? Кандидатов два, LC_MESSAGES и
LANG, я склоняюсь ко второму варианту.

Предложения, комментарии?

P.S. Стас, мне патч прислать или NMU сделать?

-- 
Regards, Alexey I. Froloff
AIF5-RIPN, AIF5-RIPE
------------------------------------------
Сделаю все, что будет в моих силах.
Последних, правда, совсем мало осталось.

	-- ldv in devel@

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] Q: fortune-mod and locale
  2003-05-27  9:18 [devel] Q: fortune-mod and locale Alexey I. Froloff
@ 2003-05-27  9:27 ` Alexander Bokovoy
  2003-05-27  9:34   ` [devel] " Anton V. Boyarshinov
  2003-05-27  9:42   ` [devel] " Alexey I. Froloff
  0 siblings, 2 replies; 12+ messages in thread
From: Alexander Bokovoy @ 2003-05-27  9:27 UTC (permalink / raw)
  To: devel

On Tue, May 27, 2003 at 01:18:43PM +0400, Alexey I. Froloff wrote:
> Сказано - сделано, потом подумано...
> 
> Сделал я fortunes-ALT и подумал, что использовать одну кодировку
> нехорошо. Соответсвенно захотелось научить fortune(6) выпирать
> правильную, алгоритм предлагаю следующий:
> 
> Локаль выглядит как [language[_territory][.codeset][@modifier]]
> (если верить SUSv3 ;-)
> При добавлении файла "file" в список источников проверять на
> доступность (если у нас full_locale не "POSIX", "C" или ""):
> 
> file-full_locale
> file-language_territory
> file-language
> file
Зачем?

Не проще ли все форчунки перевести в UTF-8 и использовать
nl_langinfo(CODESET) для получения текущей кодировки локали, в которой
запущено приложение. И транслировать посредством iconv.

-- 
/ Alexander Bokovoy
---
Possessions increase to fill the space available for their storage.
		-- Ryan


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [devel] Re: Q: fortune-mod and locale
  2003-05-27  9:27 ` Alexander Bokovoy
@ 2003-05-27  9:34   ` Anton V. Boyarshinov
  2003-05-27  9:37     ` Alexander Bokovoy
  2003-05-27  9:42   ` [devel] " Alexey I. Froloff
  1 sibling, 1 reply; 12+ messages in thread
From: Anton V. Boyarshinov @ 2003-05-27  9:34 UTC (permalink / raw)
  To: devel

On Tue, 27 May 2003 12:27:10 +0300 Alexander Bokovoy
 wrote:

> Не проще ли все форчунки перевести в UTF-8 и использовать
> nl_langinfo(CODESET) для получения текущей кодировки локали, в
> которой запущено приложение. И транслировать посредством iconv.

А как быть с символами, которые не представимы в той ии иной
кодировке?

Антон
-- 
mailto:boyarsh@mail.ru
mailto:boyarsh@ru.echo.fr
 13:32:00  up 1 day,  3:16,  8 users,  load average: 0.00, 0.00,
0.00


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] Re: Q: fortune-mod and locale
  2003-05-27  9:34   ` [devel] " Anton V. Boyarshinov
@ 2003-05-27  9:37     ` Alexander Bokovoy
  2003-05-27  9:55       ` Alexey I. Froloff
  0 siblings, 1 reply; 12+ messages in thread
From: Alexander Bokovoy @ 2003-05-27  9:37 UTC (permalink / raw)
  To: devel

On Tue, May 27, 2003 at 01:34:59PM +0400, Anton V. Boyarshinov wrote:
> On Tue, 27 May 2003 12:27:10 +0300 Alexander Bokovoy
>  wrote:
> 
> > Не проще ли все форчунки перевести в UTF-8 и использовать
> > nl_langinfo(CODESET) для получения текущей кодировки локали, в
> > которой запущено приложение. И транслировать посредством iconv.
> 
> А как быть с символами, которые не представимы в той ии иной
> кодировке?
Если они не представимы, то мы их в любом случае показать не сможем.
Конечно, используя возможности iconv в glibc мы можем написать некоторый
fallback (например, как это сделано в утилите iconv) для замены этих
символов на что-то осмысленное.
-- 
/ Alexander Bokovoy
---
Get in touch with your feelings of hostility against the dying light.
		-- Dylan Thomas [paraphrased periphrastically]


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] Q: fortune-mod and locale
  2003-05-27  9:27 ` Alexander Bokovoy
  2003-05-27  9:34   ` [devel] " Anton V. Boyarshinov
@ 2003-05-27  9:42   ` Alexey I. Froloff
  1 sibling, 0 replies; 12+ messages in thread
From: Alexey I. Froloff @ 2003-05-27  9:42 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 835 bytes --]

* Alexander Bokovoy <a.bokovoy@sam-solutions.net> [030527 13:28]:
> > Сделал я fortunes-ALT и подумал, что использовать одну кодировку
> > нехорошо. Соответсвенно захотелось научить fortune(6) выпирать
> > правильную, алгоритм предлагаю следующий:
> Не проще ли все форчунки перевести в UTF-8 и использовать
> nl_langinfo(CODESET) для получения текущей кодировки локали, в которой
> запущено приложение. И транслировать посредством iconv.
Не проще. Не всегда можно сделать преобразование A->UTF-8->B

Например latin-1 текст с умляутами нельзя посмотреть в локали
cp1251, но зато можно вручную сделать "чистый" us-ascii.

-- 
Regards, Alexey I. Froloff
AIF5-RIPN, AIF5-RIPE
------------------------------------------
  Inform-Mobil, Ltd. System Adminitrator
       http://www.inform-mobil.ru/
Tel: +7(095)504-4709, Fax: +7(095)513-1006

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] Re: Q: fortune-mod and locale
  2003-05-27  9:37     ` Alexander Bokovoy
@ 2003-05-27  9:55       ` Alexey I. Froloff
  2003-05-27 10:02         ` Alexander Bokovoy
  0 siblings, 1 reply; 12+ messages in thread
From: Alexey I. Froloff @ 2003-05-27  9:55 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 717 bytes --]

* Alexander Bokovoy <a.bokovoy@sam-solutions.net> [030527 13:40]:
> > А как быть с символами, которые не представимы в той ии иной
> > кодировке?
> Если они не представимы, то мы их в любом случае показать не сможем.
В таком случае только ручная правка даёт 100% верный результат.

> Конечно, используя возможности iconv в glibc мы можем написать некоторый
> fallback (например, как это сделано в утилите iconv) для замены этих
> символов на что-то осмысленное.
Я уже думал над этим, показалось слишком сложно и наворочено...

-- 
Regards, Alexey I. Froloff
AIF5-RIPN, AIF5-RIPE
------------------------------------------
> Думаю, что Дима перепутал mhz и imz :-)
Нет, я вообще другое имел в виду.

	-- ldv in devel@

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] Re: Q: fortune-mod and locale
  2003-05-27  9:55       ` Alexey I. Froloff
@ 2003-05-27 10:02         ` Alexander Bokovoy
  2003-05-27 10:18           ` Alexey I. Froloff
  0 siblings, 1 reply; 12+ messages in thread
From: Alexander Bokovoy @ 2003-05-27 10:02 UTC (permalink / raw)
  To: devel

On Tue, May 27, 2003 at 01:55:25PM +0400, Alexey I. Froloff wrote:
> * Alexander Bokovoy <a.bokovoy@sam-solutions.net> [030527 13:40]:
> > > А как быть с символами, которые не представимы в той ии иной
> > > кодировке?
> > Если они не представимы, то мы их в любом случае показать не сможем.
> В таком случае только ручная правка даёт 100% верный результат.
О чем и речь. Что означает "ручная правка"? Кто ей должен заниматься?
 
> > Конечно, используя возможности iconv в glibc мы можем написать некоторый
> > fallback (например, как это сделано в утилите iconv) для замены этих
> > символов на что-то осмысленное.
> Я уже думал над этим, показалось слишком сложно и наворочено...
Я реализовывал подобные вещи. Делается _значительно_ проще, чем кажется.
Вагнер делал что-то похожее в catdoc, правда,он не использовал iconv там,
по причинам портабельности на 16-bit архитектуры. Но в нашем случае такого
ограничения нет.

-- 
/ Alexander Bokovoy
---
ether leak


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] Re: Q: fortune-mod and locale
  2003-05-27 10:02         ` Alexander Bokovoy
@ 2003-05-27 10:18           ` Alexey I. Froloff
  2003-05-27 10:40             ` Alexander Bokovoy
  0 siblings, 1 reply; 12+ messages in thread
From: Alexey I. Froloff @ 2003-05-27 10:18 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 1206 bytes --]

* Alexander Bokovoy <a.bokovoy@sam-solutions.net> [030527 14:05]:
> > > Если они не представимы, то мы их в любом случае показать
> > > не сможем.
> > В таком случае только ручная правка даёт 100% верный
> > результат.
> О чем и речь. Что означает "ручная правка"? Кто ей должен
> заниматься?
Мантейнер пакета с фортунками.

> > Я уже думал над этим, показалось слишком сложно и
> > наворочено...
> Я реализовывал подобные вещи. Делается _значительно_ проще, чем
> кажется. Вагнер делал что-то похожее в catdoc, правда,он не
> использовал iconv там, по причинам портабельности на 16-bit
> архитектуры. Но в нашем случае такого ограничения нет.
Код-то и я видел в gnustep-base с заменой "неперекодируемых"
символов на '*'. Другой вопрос, что лицензия catdoc (GPL) или
gnustep-base (LGPL) плохо сочетается с лицензией fortune-mod
(BSD) ;-) Или я могу спортить кусок из LGPL'ной библиотеки в
BSD'шную програму?

P.S. Надо таки подумать над этим предложением...

-- 
Regards, Alexey I. Froloff
AIF5-RIPN, AIF5-RIPE
------------------------------------------
> А TCB (Trusted Computing Base) -- не из SCO родом?
Только не путайте этот TCB с нашим TCB - у них общее только в
аббревиатуре.

	-- ldv in community@

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] Re: Q: fortune-mod and locale
  2003-05-27 10:18           ` Alexey I. Froloff
@ 2003-05-27 10:40             ` Alexander Bokovoy
  2003-05-27 11:14               ` Alexey I. Froloff
  0 siblings, 1 reply; 12+ messages in thread
From: Alexander Bokovoy @ 2003-05-27 10:40 UTC (permalink / raw)
  To: devel

On Tue, May 27, 2003 at 02:18:27PM +0400, Alexey I. Froloff wrote:
> > > Я уже думал над этим, показалось слишком сложно и
> > > наворочено...
> > Я реализовывал подобные вещи. Делается _значительно_ проще, чем
> > кажется. Вагнер делал что-то похожее в catdoc, правда,он не
> > использовал iconv там, по причинам портабельности на 16-bit
> > архитектуры. Но в нашем случае такого ограничения нет.
> Код-то и я видел в gnustep-base с заменой "неперекодируемых"
> символов на '*'. Другой вопрос, что лицензия catdoc (GPL) или
> gnustep-base (LGPL) плохо сочетается с лицензией fortune-mod
> (BSD) ;-) Или я могу спортить кусок из LGPL'ной библиотеки в
> BSD'шную програму?
Возьмите мой код из libmidgard/src/iconvxml.c.in :)
Отдам под BSD.

-- 
/ Alexander Bokovoy
---
Never do today what you can put off until tomorrow.


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] Re: Q: fortune-mod and locale
  2003-05-27 10:40             ` Alexander Bokovoy
@ 2003-05-27 11:14               ` Alexey I. Froloff
  2003-05-27 11:21                 ` Alexander Bokovoy
  2003-05-27 11:23                 ` Sergei Dolmatov
  0 siblings, 2 replies; 12+ messages in thread
From: Alexey I. Froloff @ 2003-05-27 11:14 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 614 bytes --]

* Alexander Bokovoy <a.bokovoy@sam-solutions.net> [030527 14:46]:
> > (BSD) ;-) Или я могу спортить кусок из LGPL'ной библиотеки в
> > BSD'шную програму?
> Возьмите мой код из libmidgard/src/iconvxml.c.in :)
> Отдам под BSD.
Er... А откуда это? apt-cache search midgard что-то ничего у меня
не показывет...

-- 
Regards, Alexey I. Froloff
AIF5-RIPN, AIF5-RIPE
------------------------------------------
Если у Вас есть проблема, которая к тому же никуда не делась, то Вам,
очевидно, надо что-то сделать, чтобы предоставить нам информацию, на
основании которой можно хоть что-то посоветовать.

	-- ldv in sisyphus@

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] Re: Q: fortune-mod and locale
  2003-05-27 11:14               ` Alexey I. Froloff
@ 2003-05-27 11:21                 ` Alexander Bokovoy
  2003-05-27 11:23                 ` Sergei Dolmatov
  1 sibling, 0 replies; 12+ messages in thread
From: Alexander Bokovoy @ 2003-05-27 11:21 UTC (permalink / raw)
  To: devel

On Tue, May 27, 2003 at 03:14:33PM +0400, Alexey I. Froloff wrote:
> * Alexander Bokovoy <a.bokovoy@sam-solutions.net> [030527 14:46]:
> > > (BSD) ;-) Или я могу спортить кусок из LGPL'ной библиотеки в
> > > BSD'шную програму?
> > Возьмите мой код из libmidgard/src/iconvxml.c.in :)
> > Отдам под BSD.
> Er... А откуда это? apt-cache search midgard что-то ничего у меня
> не показывет...
Должно быть в Сизифе, Сергей Долматов недавно заливал.
В крайнем случае возьмите из cvs.midgard-project.org:
http://cvs.midgard-project.org/cgi-bin/cvsweb.cgi/midgard/lib/src/

-- 
/ Alexander Bokovoy
---
My face is new, my license is expired, and I'm under a doctor's care!!!!


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] Re: Q: fortune-mod and locale
  2003-05-27 11:14               ` Alexey I. Froloff
  2003-05-27 11:21                 ` Alexander Bokovoy
@ 2003-05-27 11:23                 ` Sergei Dolmatov
  1 sibling, 0 replies; 12+ messages in thread
From: Sergei Dolmatov @ 2003-05-27 11:23 UTC (permalink / raw)
  To: devel

On Tue, May 27, 2003 at 03:14:33PM +0400, Alexey I. Froloff wrote:
> * Alexander Bokovoy <a.bokovoy@sam-solutions.net> [030527 14:46]:
> > > (BSD) ;-) Или я могу спортить кусок из LGPL'ной библиотеки в
> > > BSD'шную програму?
> > Возьмите мой код из libmidgard/src/iconvxml.c.in :)
> > Отдам под BSD.
> Er... А откуда это? apt-cache search midgard что-то ничего у меня
> не показывет...

Скоро будет. Надеюсь. По крайней мере, inger сегодня на libmidgard не
ругался. ;)

--
Regards,
Sergei Dolmatov.
---
Man is the best computer we can put aboard a spacecraft ... and the
only one that can be mass produced with unskilled labor.
		-- Wernher von Braun


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2003-05-27 11:23 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-05-27  9:18 [devel] Q: fortune-mod and locale Alexey I. Froloff
2003-05-27  9:27 ` Alexander Bokovoy
2003-05-27  9:34   ` [devel] " Anton V. Boyarshinov
2003-05-27  9:37     ` Alexander Bokovoy
2003-05-27  9:55       ` Alexey I. Froloff
2003-05-27 10:02         ` Alexander Bokovoy
2003-05-27 10:18           ` Alexey I. Froloff
2003-05-27 10:40             ` Alexander Bokovoy
2003-05-27 11:14               ` Alexey I. Froloff
2003-05-27 11:21                 ` Alexander Bokovoy
2003-05-27 11:23                 ` Sergei Dolmatov
2003-05-27  9:42   ` [devel] " Alexey I. Froloff

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git