* [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