[gnome-cyr] Re: [gnome-cyr] Re: [gnome-cyr] Наутилус - обобщение
- From: Vlad Harchev <hvv hippo ru>
- To: gnome-cyr gnome org
- Subject: [gnome-cyr] =?koi8-r?q?Re=3A_=5Bgnome-cyr=5D_Re=3A_=5Bgnome-cyr=5D_=EE=C1=D5?==?koi8-r?q?=D4=C9=CC=D5=D3_-_=CF=C2=CF=C2=DD=C5=CE=C9=C5?=
- Date: Sun, 1 Apr 2001 19:53:07 +0500 (SAMST)
On Sat, 31 Mar 2001, Timur I. Bakeyev wrote:
Привет всем!
> Привет всем!
>
> Я согласен с Дмитрием - нет ничего хуже, чем заводить отдельный Наутилус...
>
> Давайте, я попробую обобщить, и если ничего ранее не решится - пообщаться с
> разработчиками на GUADEC.
Наверно все это дело разрешится само собой..
> Кстати - присутствует ли эта ошибка в bugzillz.eazel.com и если да - какой у
> нее номер? Ибо наличие ошибки в bugzilla - у Eazel единственный критерий ее
> серьезности....
>
> Скажу сразу - у меня Nautilus все еще не собирается, мешает наличие некоторых
> нестандартных функций в gnome-vfs. Надо думать, еще куча чего не соберется без
> проблем на BSD/OS. Надо попробовать notebook с Slackware...
>
> Итак(компиляция Влада и Димы):
>
> При включенном АнтиАлисинге и русской локали (ru_RU.KOI8-R) имеет место следующая
> проблема со шрифтами:
>
> * Все локализованные строки появляются как ?????? вместо нормального текста.
Естественно, все GUI основанное на стандратных gtk-виждетах (меню и диалоги и
кнопки в диалогах) всегда ОК (так как их рисует gtk).
> * Если отключить АА, то русский появляется, кроме как в Sidebar, где, повидимому,
> AA постоянно включен.
У меня насколько я помню (чтобы юзать Nau, мне надо грузить RH62 с другого
раздела и все такое) так:
Если жив каталог urw с его оригинальными latin1 шрифтами:
В sidebar ???? всегда вне зависимости от включенности АА
Под иконками - когда АА врублен, вместо русского latin1 глифы, когда
вырублен - русские глифы
Если убит urw и в /usr/share/fonts/default/Type1 есть русские шрифты с теми
же названиями файлов, что и у URW, то везде всегда русский вне зависимости от
включенности АА.
> * Предположительно, проблема лежит в способе подбора шрифтов в Наутилусе. По
> умолчанию поиск шрифтов идет в жестко заданных каталогах и выбирается первый
> существующий файл(!), вне зависимости от существующих в нем глифов.
Nau использует первые найденные шрифты, но проблема в том что он НАЧИНАЕТ
искать в шрифтах которые идут в поставки с ним в /usr/share/nautilus/fonts/urw
(которые только latin1) - и естественно их находит..
> * Стандартная поставка шрифтов содержит только latin глифы.
Да.
> Я тут получил еще вот такой совет:
>
> [20:49] <Carbamide> BaT: Ok. Do you know how to add fonts to X? If you do,
> do the same thing with those fonts in the ~/.nautilus/fonts folder and
> see if that works. If it does, then file a bug about it not picking
> up the correct fonts, if it doesn't work, file a bug about Nautilus
> not working the ru_RU locale
>
> Попробуйте, кто может - перепишет ли это default fonts.
Нет конечно.
>
> Вот еще в ChangeLog нашел:
>
> * libnautilus-extensions/nautilus-global-preferences.c:
> (nautilus_global_preferences_initialize): Set up auto-storage
> variables for icon view & default smooth font preferences.
> (global_preferences_get_smooth_font),
> (global_preferences_get_smooth_bold_font): Changed to take
> font file name instead of preferences name.
>
> Имхо еще отсюда могут идти зависимости от названий файлов...
>
> Вообще nautilus-font-manager.c интересный файл.... Вот у него еще что есть к
> примеру:
>
> <CODE>
> /* These font families are black listed, because they
> * arent useful at all to display "normal" text - at
> * least in the context of Nautilus.
> */
> static const char *black_listed_font_families[] = {
> .....
> "Webdings",
> "Wingdings",
> .....
> "MS Reference 1",
> "Marlett",
> "cursor"
> };
>
> static const char *black_listed_font_foundries[] = {
> "greek",
> "grinet",
> /* Abisource fonts are black listed because they
> * appear to simply be copies of the URW fonts,
> * and listing them would waste valuable font picker
> * space for no purpose.
> */
> "Abisource"
> };
>
> static const char *ignored_font_dir_suffices[] = {
> "unscaled",
> "100dpi",
> "75dpi",
> "misc",
> "abisource/fonts",
> "AbiSuite/fonts",
> "fonts/Speedo",
> "fonts/cyrillic",
> "ISO8859-2/Type1",
> "ISO8859-7/Type1"
> };
>
> </CODE>
>
> Т.е. cyrillic оно вообще читать не хочет?
ИМХО правильно с "fonts/cyrillic" - в стандартной поставке XFree там только
растровые шрифты - которые ничем не помогут..
Короче, идеальным решением IMO было бы сделать так, чтобы Nau искал бы
сначала где-нить еще (в основном это /usr/share/fonts/default/Type1/) а уж
потом - fallbacks в /usr/share/nautilus/fonts/urw - такой подход решает все
проблемы IMO так как все русские дистро ложат туда именно русские шрифты с
именами файлов как у URW.
Ниже указано какие строки надо передвинуть вверх чтобы поведение стало таким,
которое удовлетворит этому принципу:
> А вот и пресловутые зашитые шрифты...
>
> <CODE>
> libnautilus-extensions/nautilus-font-manager.c:
>
> char *
> nautilus_font_manager_get_default_font (void)
> {
> guint i;
>
> /* FIXME bugzilla.eazel.com 7343:
> * We want this to work in the case where nautilus has
> * not undergone 'make install'. In order to do that
> * we need to find out our fully qualified pwd -
> * probably using a configure.on NAUTILUS_PWD=`pwd`
> * hack of some kind. For now, commenting this out
> * to make checks work in tinderbox again.
> */
> static const char *default_fonts[] = {
> DEFAULT_FONT_DIRECTORY "/n019003l.pfb",
> /* SOURCE_DATADIR "/fonts/urw/n019003l.pfb", */
> "/usr/share/fonts/default/Type1/n019003l.pfb",
Вот это ^ сделать самым первым элементом в списке
> "/usr/X11R6/lib/X11/fonts/Type1/lcdxsr.pfa"
> };
>
> for (i = 0; i < NAUTILUS_N_ELEMENTS (default_fonts); i++) {
> if (g_file_exists (default_fonts[i])) {
> return g_strdup (default_fonts[i]);
> }
> }
>
> return NULL;
> }
>
> char *
> nautilus_font_manager_get_default_bold_font (void)
> {
> guint i;
>
> static const char *default_bold_fonts[] = {
> DEFAULT_FONT_DIRECTORY "/n019004l.pfb",
> "/usr/share/fonts/default/Type1/n019003l.pfb",
Вот это ^ сделать самым первым элементом в списке
> /* SOURCE_DATADIR "/fonts/urw/n019004l.pfb", */
> };
>
> for (i = 0; i < NAUTILUS_N_ELEMENTS (default_bold_fonts); i++) {
> if (g_file_exists (default_bold_fonts[i])) {
> return g_strdup (default_bold_fonts[i]);
> }
> }
>
> return NULL;
> }
>
> </CODE>
Как вы считаете?
Дима, ты единственный кто имеет права добавлять комментарии в bugzilla (как я
понимаю - ты ведь ticket открывал) - может добавишь это?
Best regards,
-Vlad
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]