Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
бяка с UTF-8
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2  
Reply to topic    Gentoo Forums Forum Index Russian
View previous topic :: View next topic  
Author Message
triod
n00b
n00b


Joined: 24 Jan 2005
Posts: 14

PostPosted: Mon Jul 25, 2005 11:51 pm    Post subject: Reply with quote

Андрею.

По поводу корректного обозначения в ядре utf8. Сам интересовался этим вопросом достаточно интенсивно. Вот что удалось выяснить: оказывается, стандарт _вообще_не_определяет методику написания utf8, UTF8, utf-8, UTF-8.
У меня стоит так:

----------------------
#
# Native Language Support
#
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=m
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
# CONFIG_NLS_ASCII is not set
# CONFIG_NLS_ISO8859_1 is not set
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
# CONFIG_NLS_ISO8859_15 is not set
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
CONFIG_NLS_UTF8=y

-----------------------------------------------

То есть просто utf8.


По поводу фонтов в ЖТК. Поверхностный анализ показал вот что на примере ХММС:

ldd `which xmms`
linux-gate.so.1 => (0xffffe000)
libSM.so.6 => /usr/lib/libSM.so.6 (0xb7fb7000)
libICE.so.6 => /usr/lib/libICE.so.6 (0xb7fa0000)
libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0xb7f9b000)
libxmms.so.1 => /usr/lib/libxmms.so.1 (0xb7f88000)
libgtk-1.2.so.0 => /usr/lib/libgtk-1.2.so.0 (0xb7e35000)
libgdk-1.2.so.0 => /usr/lib/libgdk-1.2.so.0 (0xb7dfd000)
libgmodule-1.2.so.0 => /usr/lib/libgmodule-1.2.so.0 (0xb7df9000)
libgthread-1.2.so.0 => /usr/lib/libgthread-1.2.so.0 (0xb7df6000)
libglib-1.2.so.0 => /usr/lib/libglib-1.2.so.0 (0xb7dd2000)
libdl.so.2 => /lib/libdl.so.2 (0xb7dce000)
libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb7dbb000)
libXi.so.6 => /usr/lib/libXi.so.6 (0xb7db3000)
libXext.so.6 => /usr/lib/libXext.so.6 (0xb7da3000)
libX11.so.6 => /usr/lib/libX11.so.6 (0xb7cd9000)
libm.so.6 => /lib/tls/libm.so.6 (0xb7cb5000)
libssl.so.0.9.7 => /usr/lib/libssl.so.0.9.7 (0xb7c86000)
libc.so.6 => /lib/tls/libc.so.6 (0xb7b5d000)
/lib/ld-linux.so.2 (0xb7fcb000)
libcrypto.so.0.9.7 => /usr/lib/libcrypto.so.0.9.7 (0xb7a62000)


Судя по всему хммс жтк 1.х таки использует.
Запуск с консоли дал такой результат:


xmms

Gdk-WARNING **: Missing charsets in FontSet creation


Gdk-WARNING **: JISX0208.1983-0


Gdk-WARNING **: KSC5601.1987-0


Gdk-WARNING **: GB2312.1980-0


Gdk-WARNING **: JISX0201.1976-0


Gdk-WARNING **: Missing charsets in FontSet creation

Gdk-WARNING **: ISO8859-1


Gdk-WARNING **: ISO8859-1


Gdk-WARNING **: JISX0208.1983-0


Gdk-WARNING **: KSC5601.1987-0


Gdk-WARNING **: GB2312.1980-0


Gdk-WARNING **: JISX0201.1976-0


Gdk-WARNING **: ISO10646-1


** WARNING **: Failed to open font: "-adobe-helvetica-bold-r-*-*-10-*".
**************************************************************************************



Фонты не читаемые _совсем_.
Судя по всему, локализация системы тут совершенно не причем. Копать надо настройки либо хммс либо жтк 1.х. Попахивает либо koi8r либо win1251. ВСЕ юникодовские шрифты в ихсах должны быть вида (согласно документации на иксорг)"-*-*-*-*-*-*-*-*-*-*-*-*-iso10646-1". В моём случае прога пытается использовать фонт, где русским юникодом и не пахнет. В этом вся и проблема. Помоему, нечто подобное и у Вас.

Может быть это и консервативно, но использую консольный mplayer _всегда_. Посему с xmms не разбирался детально, ибо не стоял остро вопрос.

С уважением :)
Back to top
View user's profile Send private message
ak74
n00b
n00b


Joined: 28 Jan 2005
Posts: 52

PostPosted: Tue Jul 26, 2005 10:44 am    Post subject: Reply with quote

У меня в ядре стоит "UTF8".
А по поводу xmms после ОЧЕНЬ длительного выяснения получилось, что виновата сборка xorg а не xmms и не gtk1.
И то что я писал раньше по поводу редактирование XLC_LOCALE эту проблему лечит.
Вот такая вот странная штука получается.

С уважением, Андрей.
Back to top
View user's profile Send private message
4nykey
Apprentice
Apprentice


Joined: 11 Feb 2004
Posts: 176

PostPosted: Tue Jul 26, 2005 8:00 pm    Post subject: Reply with quote

triod wrote:
По поводу корректного обозначения в ядре utf8. Сам интересовался этим вопросом достаточно интенсивно. Вот что удалось выяснить: оказывается, стандарт _вообще_не_определяет методику написания utf8, UTF8, utf-8, UTF-8.

Не знаю насчёт стандарта, но доки говорят обратное :wink:
Code:

  | CONFIG_NLS_DEFAULT:
  │
  │ The default NLS used when mounting file system. Note, that this is
  │ the NLS used by your console, not the NLS used by a specific file
  │ system (if different) to store data (filenames) on a disk.
  │ Currently, the valid values are:
  < snip >
  │ koi8-r, koi8-ru, koi8-u, sjis, tis-620, utf8.
  │ If you specify a wrong value, it will use the built-in NLS;
  │ compatible with iso8859-1.


С другой стороны, насколько я понял, это влияет на то, как консоль переваривает имена файлов на примаунченных фс по дефолту. Т.е к фонтам и виджетам как-будто безотносительно.
_________________
anykey banykey yelee varanykey
Back to top
View user's profile Send private message
SergDL
n00b
n00b


Joined: 04 Apr 2005
Posts: 12

PostPosted: Tue Jul 26, 2005 8:55 pm    Post subject: Reply with quote

Я нашел для нормального отображения кириллицы в gtk1-приложениях под xorg-x11-6.8.2 выход только такой:
заменил XLC_LOCALE в /usr/lib/X11/locale/en_US.UTF-8/ на такой же из 6.8.0. Все прекрасно работает.
Back to top
View user's profile Send private message
kon
Apprentice
Apprentice


Joined: 05 Mar 2004
Posts: 156
Location: Russia. Saint-Petersburg

PostPosted: Tue Jul 26, 2005 9:09 pm    Post subject: Reply with quote

Не могли бы Вы выложить куда нибудь
/usr/lib/X11/locale/en_US.UTF-8/ и
/usr/lib/X11/locale/ru_RU.UTF-8/ от xorg 6.8.0 ?
Back to top
View user's profile Send private message
triod
n00b
n00b


Joined: 24 Jan 2005
Posts: 14

PostPosted: Tue Jul 26, 2005 9:28 pm    Post subject: Reply with quote

4nykey wrote:
triod wrote:
По поводу корректного обозначения в ядре utf8. Сам интересовался этим вопросом достаточно интенсивно. Вот что удалось выяснить: оказывается, стандарт _вообще_не_определяет методику написания utf8, UTF8, utf-8, UTF-8.

Не знаю насчёт стандарта, но доки говорят обратное :wink:
Code:

  | CONFIG_NLS_DEFAULT:
  │
  │ The default NLS used when mounting file system. Note, that this is
  │ the NLS used by your console, not the NLS used by a specific file
  │ system (if different) to store data (filenames) on a disk.
  │ Currently, the valid values are:
  < snip >
  │ koi8-r, koi8-ru, koi8-u, sjis, tis-620, utf8.
  │ If you specify a wrong value, it will use the built-in NLS;
  │ compatible with iso8859-1.


С другой стороны, насколько я понял, это влияет на то, как консоль переваривает имена файлов на примаунченных фс по дефолту. Т.е к фонтам и виджетам как-будто безотносительно.



C utf8 угадал :)

Но на самом деле чёткого определения utf8 в стандарте _нет_.

С уважением :)
Back to top
View user's profile Send private message
hlroad
Tux's lil' helper
Tux's lil' helper


Joined: 28 Sep 2004
Posts: 105

PostPosted: Tue Jul 26, 2005 10:46 pm    Post subject: Reply with quote

triod wrote:
По поводу корректного обозначения в ядре utf8. Сам интересовался этим вопросом достаточно интенсивно. Вот что удалось выяснить: оказывается, стандарт _вообще_не_определяет методику написания utf8, UTF8, utf-8, UTF-8.

Определяет. Но не в ядре. Вот тут или тут, пожалуйста. Так что "UTF-8" - хотя в большинстве протоколов charset задается строкой в ASCII, которая интерпретируется в case-insensetive mode, но когда задается локаль - то UTF-8 и только UTF-8, ни utf-8, ни UTF8 - не годятся.
Back to top
View user's profile Send private message
triod
n00b
n00b


Joined: 24 Jan 2005
Posts: 14

PostPosted: Tue Jul 26, 2005 11:39 pm    Post subject: Reply with quote

hlroad wrote:
triod wrote:
По поводу корректного обозначения в ядре utf8. Сам интересовался этим вопросом достаточно интенсивно. Вот что удалось выяснить: оказывается, стандарт _вообще_не_определяет методику написания utf8, UTF8, utf-8, UTF-8.

Определяет. Но не в ядре. Вот тут или тут, пожалуйста. Так что "UTF-8" - хотя в большинстве протоколов charset задается строкой в ASCII, которая интерпретируется в case-insensetive mode, но когда задается локаль - то UTF-8 и только UTF-8, ни utf-8, ни UTF8 - не годятся.


Огромное Вам спасибо. Сам запомню и детей научу:)

C уважением.
Back to top
View user's profile Send private message
hlroad
Tux's lil' helper
Tux's lil' helper


Joined: 28 Sep 2004
Posts: 105

PostPosted: Wed Jul 27, 2005 6:20 pm    Post subject: Reply with quote

triod wrote:
Огромное Вам спасибо. Сам запомню и детей научу:)

:lol: В действительности подстава в том, что соответствующие документы датированы ноябрём 2003 года (sic!). Соответственно в том, что выходило раньше - разброд и шатание :(. Подстава с utf-8 vs UTF-8 - в том, что многие программы просто проверяют наличие строки UTF-8 в locale и тогда только и включают поддержку. То есть сама glibc будет работать правильно во всех случаях, а вот уже, скажем, MC - нет. А вот в HTML'е можно указывать и "UTF-8" и "utf-8": там в стандарте прописано что сравнение case-insensitive и все программы (включая даже и MS IE) - честно всё реализуют.
Back to top
View user's profile Send private message
SergDL
n00b
n00b


Joined: 04 Apr 2005
Posts: 12

PostPosted: Wed Jul 27, 2005 6:52 pm    Post subject: Reply with quote

для kon XLC_LOCALE из xorg 6.8.0.

cat /usr/lib/X11/locale/en_US.UTF-8/XLC_LOCALE
# $XFree86: xc/nls/XLC_LOCALE/en_US.UTF-8,v 1.2 2000/02/29 03:09:07 dawes Exp $
# XLocale Database Sample for en_US.UTF-8
#

#
# XLC_FONTSET category
#
XLC_FONTSET

on_demand_loading True

object_name generic

# fs0 class
fs0 {
charset {
name ISO10646-1
}
font {
primary ISO10646-1
}
}
# We leave the legacy encodings in for the moment, because we don't
# have that many ISO10646 fonts yet.
# fs1 class (7 bit ASCII)
fs1 {
charset {
name ISO8859-1:GL
}
font {
primary ISO8859-1:GL
vertical_rotate all
}
}
# fs2 class (ISO8859 families)
fs2 {
charset {
name ISO8859-1:GR
}
font {
primary ISO8859-1:GR
}
}
# fs3 class (Kanji)
fs3 {
charset {
name JISX0208.1983-0:GL
}
font {
primary JISX0208.1983-0:GL
}
}
# fs4 class (Korean Character)
fs4 {
charset {
name KSC5601.1987-0:GL
}
font {
primary KSC5601.1987-0:GL
}
}
# fs5 class (Chinese Han Character)
fs5 {
charset {
name GB2312.1980-0:GL
}
font {
primary GB2312.1980-0:GL
}
}
# fs6 class (Half Kana)
fs6 {
charset {
name JISX0201.1976-0:GR
}
font {
primary JISX0201.1976-0:GR
vertical_rotate all
}
}
END XLC_FONTSET

#
# XLC_XLOCALE category
#
XLC_XLOCALE

encoding_name UTF-8
mb_cur_max 6
state_depend_encoding False

# cs0 class
cs0 {
side GL:Default
length 1
ct_encoding ISO8859-1:GL
}

# cs1 class
cs1 {
side GR:Default
length 1
ct_encoding ISO8859-1:GR
}

# cs2 class
cs2 {
side GR
length 2
ct_encoding JISX0208.1983-0:GL; JISX0208.1983-0:GR; JISX0208.1983-1:GL; JISX0208.1983-1:GR

}

# cs3 class
cs3 {
side GL
length 2
ct_encoding KSC5601.1987-0:GL; KSC5601.1987-0:GR; KSC5601.1987-1:GL; KSC5601.1987-1:GR

}

# cs4 class
cs4 {
side GR
length 2
ct_encoding GB2312.1980-0:GL; GB2312.1980-0:GR
}

# cs5 class
cs5 {
side GR
length 1
ct_encoding JISX0201.1976-0:GR
}

# cs6 class
cs6 {
side none
ct_encoding ISO10646-1
}

END XLC_XLOCALE
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Russian All times are GMT
Goto page Previous  1, 2
Page 2 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum