Bug 39083 - Не отображается кириллица во всех gnustep приложениях
Summary: Не отображается кириллица во всех gnustep приложениях
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: gnustep-back (show other bugs)
Version: unstable
Hardware: all Linux
: P5 normal
Assignee: Andrey Cherepanov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks: 33000 40561
  Show dependency tree
 
Reported: 2020-10-16 08:39 MSK by Антон Мидюков
Modified: 2021-07-22 15:45 MSK (History)
3 users (show)

See Also:


Attachments
Вопросики вместо кириллицы (129.55 KB, image/png)
2020-10-16 08:39 MSK, Антон Мидюков
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Антон Мидюков 2020-10-16 08:39:55 MSK
Created attachment 9005 [details]
Вопросики вместо кириллицы

Не отображается кириллица во всех gnustep приложениях. Вместо символов кириллицы вопросики. При этом вводить кириллицу можно, проблема со шрифтом. Может нужно добавить какой-то?
Comment 1 Andrey Cherepanov 2020-10-16 12:12:39 MSK
Я проверял в TextEdit (пакет gnustep-TextEdit) - кириллица прекрасно вводится.
Comment 2 Andrey Cherepanov 2020-10-16 12:13:56 MSK
Проверьте в сеансе с локалью UTF-8.
Comment 3 Антон Мидюков 2020-10-16 12:25:44 MSK
(Ответ для Andrey Cherepanov на комментарий #2)
> Проверьте в сеансе с локалью UTF-8.

$ echo $LANG
ru_RU.UTF8

У других приложений (Seamonkey, acc, synaptic, gparted) нет проблем с кириллицей в этом же сеансе.
Comment 4 Andrey Cherepanov 2020-10-16 12:34:42 MSK
(Ответ для Антон Мидюков на комментарий #3)
> (Ответ для Andrey Cherepanov на комментарий #2)
> > Проверьте в сеансе с локалью UTF-8.
> 
> $ echo $LANG
> ru_RU.UTF8
> 
> У других приложений (Seamonkey, acc, synaptic, gparted) нет проблем с
> кириллицей в этом же сеансе.

Сделай образ, пожалуйста. Я у себя на сизифной ВМ с сеансом IceWM воспроизвести не могу.
Comment 5 Антон Мидюков 2020-10-20 19:21:57 MSK
В регулярке gnustep-sysv не хватает шрифта fonts-ttf-dejavu. Ранее не требовался. обавлю в сборку.
Comment 6 Andrey Cherepanov 2020-10-20 19:55:44 MSK
Антон, там в коде есть "Use DejaVu as another fallback font". Может, сделать зависимость в gnustep-back? Или пропатчить?

- (NSString *) defaultSystemFontName
{
  if ([allFontNames containsObject: @"DejaVuSans"])                                                                                                                                            
    {
      return @"DejaVuSans";
    }
  if ([allFontNames containsObject: @"BitstreamVeraSans-Roman"])
    {
      return @"BitstreamVeraSans-Roman";
    }
  if ([allFontNames containsObject: @"FreeSans"])
    {
      return @"FreeSans";
    }
  if ([allFontNames containsObject: @"Tahoma"])
    {
      return @"Tahoma";
    }
  if ([allFontNames containsObject: @"ArialMT"])
    {
      return @"ArialMT";
    }
  return @"Helvetica";
}
Comment 7 Антон Мидюков 2020-10-20 20:32:32 MSK
(Ответ для Andrey Cherepanov на комментарий #6)
> Антон, там в коде есть "Use DejaVu as another fallback font". Может, сделать
> зависимость в gnustep-back? Или пропатчить?
> 
> - (NSString *) defaultSystemFontName
> {
>   if ([allFontNames containsObject: @"DejaVuSans"])                         
> 
>     {
>       return @"DejaVuSans";
>     }
>   if ([allFontNames containsObject: @"BitstreamVeraSans-Roman"])
>     {
>       return @"BitstreamVeraSans-Roman";
>     }
>   if ([allFontNames containsObject: @"FreeSans"])
>     {
>       return @"FreeSans";
>     }
>   if ([allFontNames containsObject: @"Tahoma"])
>     {
>       return @"Tahoma";
>     }
>   if ([allFontNames containsObject: @"ArialMT"])
>     {
>       return @"ArialMT";
>     }
>   return @"Helvetica";
> }

А какой-то другой шрифт подойдёт? Тут их будто несколько. Если подойдёт, то жёсткая зависимость кажется излишней.
Comment 8 Andrey Cherepanov 2020-10-20 21:09:53 MSK
(Ответ для Антон Мидюков на комментарий #7)
> А какой-то другой шрифт подойдёт? Тут их будто несколько. Если подойдёт, то
> жёсткая зависимость кажется излишней.
zerg@ предлагал схему в https://bugzilla.altlinux.org/show_bug.cgi?id=37512
Comment 9 Антон Мидюков 2020-10-21 04:39:41 MSK
(Ответ для Andrey Cherepanov на комментарий #8)
> (Ответ для Антон Мидюков на комментарий #7)
> > А какой-то другой шрифт подойдёт? Тут их будто несколько. Если подойдёт, то
> > жёсткая зависимость кажется излишней.
> zerg@ предлагал схему в https://bugzilla.altlinux.org/show_bug.cgi?id=37512

fonts-ttf-liberation, предоставляющий provides fonts-ttf-core установлен. Но этот шрифт не помогает с кириллицей.
Comment 10 Andrey Cherepanov 2020-10-21 09:55:19 MSK
(Ответ для Антон Мидюков на комментарий #9)
> (Ответ для Andrey Cherepanov на комментарий #8)
> > (Ответ для Антон Мидюков на комментарий #7)
> > > А какой-то другой шрифт подойдёт? Тут их будто несколько. Если подойдёт, то
> > > жёсткая зависимость кажется излишней.
> > zerg@ предлагал схему в https://bugzilla.altlinux.org/show_bug.cgi?id=37512
> 
> fonts-ttf-liberation, предоставляющий provides fonts-ttf-core установлен. Но
> этот шрифт не помогает с кириллицей.

Так надо DejaVuSans заменить на Sans в коде.
Comment 11 Антон Мидюков 2020-10-21 10:18:56 MSK
(Ответ для Andrey Cherepanov на комментарий #10)
> (Ответ для Антон Мидюков на комментарий #9)
> > (Ответ для Andrey Cherepanov на комментарий #8)
> > > (Ответ для Антон Мидюков на комментарий #7)
> > > > А какой-то другой шрифт подойдёт? Тут их будто несколько. Если подойдёт, то
> > > > жёсткая зависимость кажется излишней.
> > > zerg@ предлагал схему в https://bugzilla.altlinux.org/show_bug.cgi?id=37512
> > 
> > fonts-ttf-liberation, предоставляющий provides fonts-ttf-core установлен. Но
> > этот шрифт не помогает с кириллицей.
> 
> Так надо DejaVuSans заменить на Sans в коде.

Тогда это нужно исправить и попробовать.
Comment 12 Andrey Cherepanov 2020-10-21 10:43:35 MSK
(Ответ для Антон Мидюков на комментарий #11)
> Тогда это нужно исправить и попробовать.

260158 TESTED #1 [test-only] sisyphus gnustep-back.git=0.28.0-alt2

Не, не выходит.
Comment 13 Andrey Cherepanov 2020-10-21 10:53:44 MSK
(Ответ для Andrey Cherepanov на комментарий #12)
> (Ответ для Антон Мидюков на комментарий #11)
> > Тогда это нужно исправить и попробовать.
> 
> 260158 TESTED #1 [test-only] sisyphus gnustep-back.git=0.28.0-alt2
> 
> Не, не выходит.

По-видимому, она не находит виртуальные шрифты (типа Sans). Вот BitstreamVeraSans-Roman находит дальше и использует.
Comment 14 Andrey Cherepanov 2020-10-21 11:12:35 MSK
Да, как я и предполагал. Надо запустить 

TextEdit --GNU-Debug=NSFont 

и всё будет ясно. Выстраивание списка шрифтов: Source/fontconfig/FCFontEnumerator.m +333
Comment 15 Repository Robot 2021-06-15 15:54:54 MSK
gnustep-back-0.29.0-alt1 -> sisyphus:

 Tue Jun 15 2021 Andrey Cherepanov <cas@altlinux> 0.29.0-alt1
 - New version compatible with current gnustep-gui (ALT #40221).
 Wed Oct 21 2020 Andrey Cherepanov <cas@altlinux> 0.28.0-alt2
 - Use only common TTF font (Sans, Mono) instead of Type1 fonts and hardcoded DejaVu (ALT #39083).
Comment 16 Антон Мидюков 2021-06-15 17:01:55 MSK
По-прежнему, если fonts-ttf-dejavu не установлен, то будут вопросики.
Comment 17 Антон Мидюков 2021-07-22 12:06:11 MSK
(In reply to Антон Мидюков from comment #16)
> По-прежнему, если fonts-ttf-dejavu не установлен, то будут вопросики.

fonts-ttf-dejavu установлен, а вопросики всё равно. workaround больше не работает.
Видимо, и в p10.
Comment 18 Антон Мидюков 2021-07-22 12:46:18 MSK
Помогло удаление шрифта fonts-ttf-vera. Какой-то древний шрифт, может в этом дело?
Этот шрифт требуют пакеты wmforkflop и wmhdplop.
Думаю, что можно от них избавиться или избавить от этой зависимости.

Кроме того, fonts-ttf-dejavu более не требуется.
Так что можно считать баг исправленным.
Comment 19 Sergey V Turchin 2021-07-22 15:45:19 MSK
А что, если
- (NSString *) defaultSystemFontName
{
  return @"Sans";
}
?