Bug 5460

Summary: PDF417+1cv81: неверный шрифт при печати отчёта со штрихкодом
Product: WINE@Etersoft Reporter: Andrey Vusik <night>
Component: ОбщееAssignee: Vitaly Lipatov <lav>
Status: CLOSED FIXED QA Contact: Денис Баранов <baraka>
Severity: critical    
Priority: P3 CC: baraka, lav, regan, shpigor
Version: 1.0.12   
Target Milestone: ---   
Hardware: PC   
OS: All   
Whiteboard:
Заявки RT: 13871 Связано с:
Дата напоминания:
Bug Depends on:    
Bug Blocks: 5633, 5740, 8317    
Attachments: На машине Windows XP SP3 (Снимок 2)
В бутылке

Description Andrey Vusik 2010-04-13 17:23:22 MSD
Created attachment 1638 [details]
На машине Windows XP SP3 (Снимок 2)

Воспроизведение:
бутылка RT/13871
Отчёты -- Регламентированные -- налоговая отчётность -- прибыль -- декларация по налогу на прибыль. Жмём печать - показать бланк машиночитаемой формы.
Нет никаких реквизитов(см. скриншоты), либо, как сообщают клиенты, бывают квадратики вместо текста.
Comment 1 Andrey Vusik 2010-04-13 17:23:59 MSD
Created attachment 1639 [details]
В бутылке
Comment 2 Денис Баранов 2010-04-15 16:54:20 MSD
WINE@Etersoft 1.0.12 eter5/eter4 
Ситуация не изменилась.
Comment 3 Илья Шпигорь 2010-04-16 17:39:50 MSD
Проблема связана с тем, что в wine нет шрифта Arial Black (ariblk.ttf).

Пытался сделать замену в реестре на обычный Arial - не помогло.
Comment 4 Илья Шпигорь 2010-04-19 11:27:13 MSD
Для решения баги необходимо добавить файл с шрифтом ariblk.ttf. Это может быть символьная ссылка на tahoma.ttf или любой другой TrueType шрифт. Но при этом внешний вид шрифта будет отличаться от windows.

Если поставить шрифты через:
winetricks allfonts

Шрифт будет такой же как и в windows.
Comment 5 Илья Шпигорь 2010-04-19 11:34:24 MSD
Вопрос к Виталику - сделать в спеке создание ссылки в /usr/share/wine/fonts/ с именем atiblk.ttf на tahoma.ttf? Или лучше добавить новый шрифт ariblk.ttf, который по-сути будет тем же tahoma.ttf?
Comment 6 Илья Шпигорь 2010-04-19 13:58:41 MSD
Пробовал такие подстановки шрифтов в реестре:

1) \HKLM\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes
"Arial Black" = "Arial"
2) \HKLM\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes
"Arial Black" = "Tahoma"
3) \HKCU\Software\Wine\Fonts\Replacements
"Arial Black" = "Arial"
4) \HKCU\Software\Wine\Fonts\Replacements
"Arial Black" = "Tahoma"
5) \HKCU\Software\Wine\Fonts\Replacements
"Arial Black" = "Liberation Sans"

Ни одна не помогла.
Comment 7 Andrey Vusik 2010-04-19 19:29:02 MSD
(In reply to comment #3)
> Проблема связана с тем, что в wine нет шрифта
> Arial Black (ariblk.ttf).
> 
> Пытался сделать замену в реестре на
> обычный Arial - не помогло.
> 

С установленными шрифтами через winetricks всё аналогичнос windows.
Оставлял один ariblk.ttf в папке fonts, оставлял всё семейство arial - не в одном случае идентичным шрифт не был.
Из этого я сделал вывод, что дело не в AriBLK...
Comment 8 Илья Шпигорь 2010-04-21 13:33:44 MSD
> С установленными шрифтами через winetricks всё
> аналогичнос windows.
> Оставлял один ariblk.ttf в папке fonts, оставлял
> всё семейство arial - не в одном случае
> идентичным шрифт не был.
> Из этого я сделал вывод, что дело не в AriBLK...

Правильно тебя понял, что установка шрифтов через winetricks проблему не решила? Или речь о том, что шрифт отличается от виндового?

Comment 9 Andrey Vusik 2010-04-21 15:49:04 MSD
(In reply to comment #8)
> > С установленными шрифтами через winetricks всё
> > аналогичнос windows.
> > Оставлял один ariblk.ttf в папке fonts, оставлял
> > всё семейство arial - не в одном случае
> > идентичным шрифт не был.
> > Из этого я сделал вывод, что дело не в AriBLK...
> 
> Правильно тебя понял, что установка
> шрифтов через winetricks проблему не решила? Или
> речь о том, что шрифт отличается от
> виндового?
> 

Проблему winetricks решает и шрифт не отличается от виндового.
Ты просто выше писал, что проблема - в отсутствии Arial Black. Но в отчётах ведь используется не он. Или тут ещё какая-то связь?
Comment 10 Илья Шпигорь 2010-04-22 12:36:28 MSD
Андрей прав, Arial Black оказался не при чем.

Проблема решается если в реестре указать шрифт Courier New например так:

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Fonts]
"Courier New (TrueType)"="tahoma.ttf"

Подстановки шрифта Courier New на Tahoma в:

\HKLM\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes
\HKCU\Software\Wine\Fonts\Replacements

не помогают.
Comment 11 Vitaly Lipatov 2010-04-22 13:25:01 MSD
(In reply to comment #10)
> Проблема решается если в реестре указать
> шрифт Courier New например так:
> 
> [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Fonts]
> "Courier New (TrueType)"="tahoma.ttf"
Ну это ерунда какая-то, к тому же этот список заполняется автоматически.

 
> Подстановки шрифта Courier New на Tahoma в:
> 
> \HKLM\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes
> \HKCU\Software\Wine\Fonts\Replacements
> 
> не помогают.
Ты не написал, какие подстановки ты вписывал.

Comment 12 Илья Шпигорь 2010-04-22 13:31:35 MSD
>> [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Fonts]
>> "Courier New (TrueType)"="tahoma.ttf"
> Ну это ерунда какая-то, к тому же этот
> список заполняется автоматически.

Да, забыл сказать я это автоматическое заполнение выключал при тестировании :)

Сейчас запись в реестре такая:

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Fonts]
"Courier New (TrueType)"="LiberationMono-Regular.ttf"

Этот LiberationMono-Regular.ttf лежит в /usr/share/fonts/ttf/liberation и относится к пакету fonts-ttf-liberation-1.04-alt1.

Возможно, проблема в том, что этот файл не доступен по виндовому пути. Если создать в dosdevices ссылку x: -> /usr/share/fonts. Бага не воспроизводится.
Comment 13 Vitaly Lipatov 2010-04-22 14:34:47 MSD
(In reply to comment #12)
> Сейчас запись в реестре такая:
> 
> [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Fonts]
> "Courier New (TrueType)"="LiberationMono-Regular.ttf"
> 
> Этот LiberationMono-Regular.ttf лежит в
> /usr/share/fonts/ttf/liberation и относится к пакету
> fonts-ttf-liberation-1.04-alt1.
Это при наличии fonts-ttf-ms или нет?

> Возможно, проблема в том, что этот файл не
> доступен по виндовому пути. Если создать в
Это никогда не было нужно. Ну или нужно доказательство необходимости доступности.

> dosdevices ссылку x: -> /usr/share/fonts. Бага не
> воспроизводится.
 
Дубль два:
(In reply to comment #11)
> > Подстановки шрифта Courier New на Tahoma в:
...
> Ты не написал, какие подстановки ты
> вписывал.

Короче, проверь все́ варианты и скажи, в чём проблема.
Comment 14 Илья Шпигорь 2010-04-22 15:40:11 MSD
> > Возможно, проблема в том, что этот файл не
> > доступен по виндовому пути. Если создать в
> Это никогда не было нужно. Ну или нужно
> доказательство необходимости доступности.

В качестве доказательства подойдет лог по file в котором видно, как приложение безуспешно пытается найти LiberationMono-Regular.ttf по виндовым путям?
Comment 15 Vitaly Lipatov 2010-04-22 15:53:08 MSD
(In reply to comment #14)
...
> В качестве доказательства подойдет лог по
> file в котором видно, как приложение
> безуспешно пытается найти LiberationMono-Regular.ttf
> по виндовым путям?
Ну допустим. Хотя я сомневаюсь, что оно лезет в x:\share\fonts 

Comment 16 Илья Шпигорь 2010-04-22 15:56:01 MSD
> > Подстановки шрифта Courier New на Tahoma в:
> > 
> > \HKLM\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes
> > \HKCU\Software\Wine\Fonts\Replacements
> > 
> > не помогают.
> Ты не написал, какие подстановки ты
> вписывал.

Подстановки были: 
"Courier New"="Tahoma"
Comment 17 Илья Шпигорь 2010-04-22 15:59:26 MSD
> Ну допустим. Хотя я сомневаюсь, что оно
> лезет в x:\share\fonts 

Приложение туда не лезет. Оно смотрит, что в реестре. А там:
"Courier New"="X:\fonts\ttf\liberation\LiberationSans-Regular.ttf"

Такой путь wine задает при загрузке шрифта, если может найти его по виндовому пути.

Comment 18 Vitaly Lipatov 2010-04-22 16:14:27 MSD
Дубль два
(In reply to comment #13)
...
> > Этот LiberationMono-Regular.ttf лежит в
> > /usr/share/fonts/ttf/liberation и относится к пакету
> > fonts-ttf-liberation-1.04-alt1.
> Это при наличии fonts-ttf-ms или нет?


Так можно ли переформулировать проблему так, что дурное приложение требует доступа непосредственно к файлу шрифта? И мне очень интересно, каким образом Wine узнаёт путь к файлу со шрифтом.
Comment 19 Илья Шпигорь 2010-04-22 16:21:08 MSD
> Так можно ли переформулировать проблему
> так, что дурное приложение требует доступа
> непосредственно к файлу шрифта?

Да, уверен, что так и есть.


Comment 20 Илья Шпигорь 2010-05-05 11:21:07 MSD
От Виталика нужно решение по баге - как исправлять?

Приложению нужен доступ к файлам шрифтов.

Может быть несколько решений:
1. Делать ссылку на /usr/share в dosdevices
2. Создавать ссылки для каждого загружаемого wine'ом шрифта в .wine/dosdevices/c:/windows/Fonts

Может быть есть еще какое-нибудь более эффективное решение?
Comment 21 Илья Шпигорь 2010-05-07 12:13:51 MSD
(In reply to comment #20)
> От Виталика нужно решение по баге - как
> исправлять?

Такое же решение надо принять и по баге 2849.
Comment 22 Денис Баранов 2010-07-13 16:36:03 MSD
Сделал патч, создается сслыка y: на /usr/share
Comment 23 Marat Sharipov 2010-11-14 14:50:33 MSK
wine 7.23/14
Бага не воспроизводится
Принял