ALT Linux Community general discussions
 help / color / mirror / Atom feed
* [mdk-re] Вопрос по локали...
@ 2001-09-27 11:02 Serge Ivanoff
  2001-09-28  1:33 ` Roman S
  2001-09-28 17:53 ` [mdk-re] " Sergey Vlasov
  0 siblings, 2 replies; 10+ messages in thread
From: Serge Ivanoff @ 2001-09-27 11:02 UTC (permalink / raw)
  To: mandrake-russian

Проблем такой:

В результате долгих раскопок выяснилось что функция isprintable() не
воспринимает русские буквы.
т.е судя по описанию набор символов которые она воспринимает как
печатабельные зависит от локали - в русской локали должно воспринимать
русские буквы. А вот и не работает.
Кто наступал на это? Как решили проблему?




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

* Re: [mdk-re] Вопрос по локали...
  2001-09-27 11:02 [mdk-re] Вопрос по локали Serge Ivanoff
@ 2001-09-28  1:33 ` Roman S
  2001-09-28  9:52   ` [mdk-re] " Serge Ivanoff
  2001-09-28 21:22   ` [mdk-re] " Mikhail Zabaluev
  2001-09-28 17:53 ` [mdk-re] " Sergey Vlasov
  1 sibling, 2 replies; 10+ messages in thread
From: Roman S @ 2001-09-28  1:33 UTC (permalink / raw)
  To: mandrake-russian

On Thu, 27 Sep 2001 11:20:45 +0400
"Serge Ivanoff" <SergeIV@mail.ru> wrote:

> Проблем такой:
> 
> В результате долгих раскопок выяснилось что функция isprintable() не
> воспринимает русские буквы.
> т.е судя по описанию набор символов которые она воспринимает как
> печатабельные зависит от локали - в русской локали должно воспринимать
> русские буквы. А вот и не работает.
> Кто наступал на это? Как решили проблему?

Имеется в виду isprint?
Не огорчайтесь, такая же ерундень со всеми функциями группы ctype.

-- 
Rgds!
Roman Savelyev.



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

* [mdk-re] Re: [mdk-re] Вопрос по локали...
  2001-09-28  1:33 ` Roman S
@ 2001-09-28  9:52   ` Serge Ivanoff
  2001-09-28 21:22   ` [mdk-re] " Mikhail Zabaluev
  1 sibling, 0 replies; 10+ messages in thread
From: Serge Ivanoff @ 2001-09-28  9:52 UTC (permalink / raw)
  To: mandrake-russian

> > Проблем такой:
> >
> > В результате долгих раскопок выяснилось что функция isprintable() не
> > воспринимает русские буквы.
> > т.е судя по описанию набор символов которые она воспринимает как
> > печатабельные зависит от локали - в русской локали должно воспринимать
> > русские буквы. А вот и не работает.
> > Кто наступал на это? Как решили проблему?
>
> Имеется в виду isprint?
> Не огорчайтесь, такая же ерундень со всеми функциями группы ctype.


И как жить после этого? Неужели нет решения?




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

* Re: [mdk-re] Вопрос по локали...
  2001-09-27 11:02 [mdk-re] Вопрос по локали Serge Ivanoff
  2001-09-28  1:33 ` Roman S
@ 2001-09-28 17:53 ` Sergey Vlasov
  1 sibling, 0 replies; 10+ messages in thread
From: Sergey Vlasov @ 2001-09-28 17:53 UTC (permalink / raw)
  To: mandrake-russian

On Thu, 27 Sep 2001 11:20:45 +0400
"Serge Ivanoff" <SergeIV@mail.ru> wrote:

> В результате долгих раскопок выяснилось что функция isprintable() не
> воспринимает русские буквы.
> т.е судя по описанию набор символов которые она воспринимает как
> печатабельные зависит от локали - в русской локали должно воспринимать
> русские буквы. А вот и не работает.
> Кто наступал на это? Как решили проблему?

Ничего подобного:

#include <stdio.h>
#include <ctype.h>
#include <locale.h>

int main(void)
{
        int ch;

        setlocale(LC_ALL, "");

        while ((ch = getchar()) != EOF) {
                if (isprint(ch))
                        printf("0x%02x: printable\n", ch);
                else
                        printf("0x%02x: unprintable\n", ch);
        }
        return 0;
}

$ gcc test.c
$ locale
LANG=ru_RU.KOI8-R
LC_CTYPE="ru_RU.KOI8-R"
LC_NUMERIC="ru_RU.KOI8-R"
LC_TIME="ru_RU.KOI8-R"
LC_COLLATE="ru_RU.KOI8-R"
LC_MONETARY="ru_RU.KOI8-R"
LC_MESSAGES="ru_RU.KOI8-R"
LC_PAPER="ru_RU.KOI8-R"
LC_NAME="ru_RU.KOI8-R"
LC_ADDRESS="ru_RU.KOI8-R"
LC_TELEPHONE="ru_RU.KOI8-R"
LC_MEASUREMENT="ru_RU.KOI8-R"
LC_IDENTIFICATION="ru_RU.KOI8-R"
LC_ALL=
$ ./a.out 
abc абв      
0x61: printable
0x62: printable
0x63: printable
0x20: printable
0xc1: printable
0xc2: printable
0xd7: printable
0x0a: unprintable
$ LC_ALL=C ./a.out 
abc абв   
0x61: printable
0x62: printable
0x63: printable
0x20: printable
0xc1: unprintable
0xc2: unprintable
0xd7: unprintable
0x0a: unprintable

Возможно, проблема в том, что при обработке обычной строки
(массива char) параметры isxxxx() нужно преобразовывать к типу
unsigned char - иначе получаются отрицательные значения, которые
действительно не обрабатываются. isxxxx() обрабатывает коды от
0x00 до 0xFF, а также EOF (-1); кстати, tolower() и toupper()
ведут себя точно так же.



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

* [mdk-re] Re: Вопрос по локали...
  2001-09-28  1:33 ` Roman S
  2001-09-28  9:52   ` [mdk-re] " Serge Ivanoff
@ 2001-09-28 21:22   ` Mikhail Zabaluev
  2001-09-28 22:23     ` Roman S
  1 sibling, 1 reply; 10+ messages in thread
From: Mikhail Zabaluev @ 2001-09-28 21:22 UTC (permalink / raw)
  To: mandrake-russian

Hello Roman,

On Thu, Sep 27, 2001 at 11:11:41PM +0400, Roman S wrote:
>
> On Thu, 27 Sep 2001 11:20:45 +0400
> "Serge Ivanoff" <SergeIV@mail.ru> wrote:
> 
> > Проблем такой:
> > 
> > В результате долгих раскопок выяснилось что функция isprintable() не
> > воспринимает русские буквы.
> > т.е судя по описанию набор символов которые она воспринимает как
> > печатабельные зависит от локали - в русской локали должно воспринимать
> > русские буквы. А вот и не работает.
> > Кто наступал на это? Как решили проблему?

Результат "echo $LANG; echo $LC_CTYPE" -- в студию.

> 
> Имеется в виду isprint?
> Не огорчайтесь, такая же ерундень со всеми функциями группы ctype.

$ perl -MPOSIX -e 'for ($c = 0x80; $c <= 0xff; $c++) {
printf("%X\n", $c) unless isprint(chr($c)); }'
9A

То же самое с LC_CTYPE=C дает все коды; насколько я понимаю, все, что
выше Latin-1, считается в локали C непечатным. В чем же ерундень?
Модуль POSIX, AFAIK, просто использует функции libc.

-- 
Stay tuned,
  MhZ                                     JID: mookid@jabber.org
___________
Bell Labs Unix -- Reach out and grep someone.



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

* Re: [mdk-re] Re: Вопрос по локали...
  2001-09-28 21:22   ` [mdk-re] " Mikhail Zabaluev
@ 2001-09-28 22:23     ` Roman S
  2001-09-28 22:37       ` Aleksey Novodvorsky
  0 siblings, 1 reply; 10+ messages in thread
From: Roman S @ 2001-09-28 22:23 UTC (permalink / raw)
  To: mandrake-russian

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

On Fri, 28 Sep 2001 21:35:31 +0400
Mikhail Zabaluev <mhz@alt-linux.org> wrote:

> Результат "echo $LANG; echo $LC_CTYPE" -- в студию.
См. вложение.

-- 
Rgds!
Roman Savelyev.

[-- Attachment #2: locchk.tar.gz --]
[-- Type: application/octet-stream, Size: 714 bytes --]

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

* Re: [mdk-re] Re:  Вопрос по локали...
  2001-09-28 22:23     ` Roman S
@ 2001-09-28 22:37       ` Aleksey Novodvorsky
  2001-09-28 23:09         ` Roman S
  0 siblings, 1 reply; 10+ messages in thread
From: Aleksey Novodvorsky @ 2001-09-28 22:37 UTC (permalink / raw)
  To: mandrake-russian

Roman S wrote:

> On Fri, 28 Sep 2001 21:35:31 +0400
> Mikhail Zabaluev <mhz@alt-linux.org> wrote:
>
> > Результат "echo $LANG; echo $LC_CTYPE" -- в студию.
> См. вложение.
>

Все верно. По умолчанию после вызова программы  locale -- C.
Для использования текущей:
...
#include <locale.h>
...
setlocale (LC_ALL,"");


Rgrds, AEN





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

* Re: [mdk-re] Re:  Вопрос по локали...
  2001-09-28 22:37       ` Aleksey Novodvorsky
@ 2001-09-28 23:09         ` Roman S
  2001-09-29 12:47           ` Sergey Vlasov
  0 siblings, 1 reply; 10+ messages in thread
From: Roman S @ 2001-09-28 23:09 UTC (permalink / raw)
  To: mandrake-russian

On Fri, 28 Sep 2001 22:45:27 +0400
Aleksey Novodvorsky <aen@logic.ru> wrote:

> setlocale (LC_ALL,"");
Так не интересно. Так оно работать будет :)
Следующий же вопрос будет про GTK+ :))

-- 
Rgds!
Roman Savelyev.



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

* Re: [mdk-re] Re:  Вопрос по локали...
  2001-09-28 23:09         ` Roman S
@ 2001-09-29 12:47           ` Sergey Vlasov
  2001-09-29 19:18             ` Roman S
  0 siblings, 1 reply; 10+ messages in thread
From: Sergey Vlasov @ 2001-09-29 12:47 UTC (permalink / raw)
  To: mandrake-russian

On Fri, 28 Sep 2001 23:15:13 +0400
Roman S <rromas@mailru.com> wrote:

> On Fri, 28 Sep 2001 22:45:27 +0400
> Aleksey Novodvorsky <aen@logic.ru> wrote:
> 
> > setlocale (LC_ALL,"");
> Так не интересно. Так оно работать будет :)

А Вам интересно, чтобы не работало? :)

> Следующий же вопрос будет про GTK+ :))

gtk_set_locale()



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

* Re: [mdk-re] Re:  Вопрос по локали...
  2001-09-29 12:47           ` Sergey Vlasov
@ 2001-09-29 19:18             ` Roman S
  0 siblings, 0 replies; 10+ messages in thread
From: Roman S @ 2001-09-29 19:18 UTC (permalink / raw)
  To: mandrake-russian

On Sat, 29 Sep 2001 12:30:21 +0400
Sergey Vlasov <vsu@mivlgu.murom.ru> wrote:

> Следующий же вопрос будет про GTK+ :))
Всю интригу запороли....

Про правила формирования ru.po спросить что-ли до кучи? :)

Шуточки да подковырки шуточками, а есть серьёзный вопрос.
Куда (или кого) стцкнуть кувалдочкой, чтоб прекратить бардак с .omf-ками....


-- 
Rgds!
Roman Savelyev.



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

end of thread, other threads:[~2001-09-29 19:18 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-09-27 11:02 [mdk-re] Вопрос по локали Serge Ivanoff
2001-09-28  1:33 ` Roman S
2001-09-28  9:52   ` [mdk-re] " Serge Ivanoff
2001-09-28 21:22   ` [mdk-re] " Mikhail Zabaluev
2001-09-28 22:23     ` Roman S
2001-09-28 22:37       ` Aleksey Novodvorsky
2001-09-28 23:09         ` Roman S
2001-09-29 12:47           ` Sergey Vlasov
2001-09-29 19:18             ` Roman S
2001-09-28 17:53 ` [mdk-re] " Sergey Vlasov

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/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 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

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


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