Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Поломался шрифт MS Sans Serif в Windows 10  [new]
DmSer
Member

Откуда: Пенза
Сообщений: 850
Клиент притащил новый ноутбук с Windows 10, на нём в нашей программе (написана на Delphi2007) на некоторых элементах (TLabel, TListBox, TBitBtn) вместо русских букв отображаются краказябры. На элементах TEdit, TButton, TSpeedButton, TRadioButton таких проблем нет. Конкретно проблема возникает со шрифтом "MS Sans Serif". С другими шрифтами (Arial, Times New Roman, Courier New, Tahoma) такой проблемы нет. Версия Windows10: 1803.
Проблема воспроизводится на тестовой программе если выбрать шрифт "MS Sans Serif", причём размер шрифта значения не имеет.
Многочисленные рекомендации в интернете пока эффекта не имеют.
Сталкивался в таким кто-либо? Есть идеи?

Кстати, впервые вижу ноутбук с 14-дюймовым экраном с разрешением 1920х1080, чтобы хоть что-то увидеть, приходится использовать масштаб 150 :)
12 окт 18, 09:55    [21702202]     Ответить | Цитировать Сообщить модератору
 Re: Поломался шрифт MS Sans Serif в Windows 10  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 30037

смотри настройки Font Substitution в Win

Posted via ActualForum NNTP Server 1.5

12 окт 18, 10:33    [21702250]     Ответить | Цитировать Сообщить модератору
 Re: Поломался шрифт MS Sans Serif в Windows 10  [new]
DmSer
Member

Откуда: Пенза
Сообщений: 850
Оказывается, винда по каким-то причинам на Windows 10 вместо шрифта "MS Sans Serif" пытается подставлять шрифт Arial (такой настройки в реестре не обнаружил).
Если в программе DefFontData.Charset=DEFAULT_CHARSET (по умолчанию), то для некоторых компонентов шрифт Arial подставляется, а для некоторых - кракозябры.

Если же выставить DefFontData.Charset := 204;
То в этом случае винда применяет шрифт Arial для всех компонентов.

В общем, хрень какая-то получается!
12 окт 18, 11:34    [21702312]     Ответить | Цитировать Сообщить модератору
 Re: Поломался шрифт MS Sans Serif в Windows 10  [new]
DmSer
Member

Откуда: Пенза
Сообщений: 850
Что-то в Windows 10 испортили в файлах шрифтов
C:\Windows\Fonts\sseriff.fon
C:\Windows\Fonts\sserife.fon

Их открываешь, а в заголовке пишется "Arial", все символы размыты, хотя в Windows 7 открывается нормально.
12 окт 18, 11:49    [21702331]     Ответить | Цитировать Сообщить модератору
 Re: Поломался шрифт MS Sans Serif в Windows 10  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 30037

12.10.2018 11:34, DmSer пишет:
> такой настройки в реестре не обнаружил

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes

Posted via ActualForum NNTP Server 1.5

12 окт 18, 11:50    [21702332]     Ответить | Цитировать Сообщить модератору
 Re: Поломался шрифт MS Sans Serif в Windows 10  [new]
DmSer
Member

Откуда: Пенза
Сообщений: 850
Проблему решили.
В обновлении 1803 Microsoft видимо испортила шрифт "MS Sans Serif", а может производители ноутбука начудили.
Мы удалили из раздела "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts"
переменные "MS Sans Serif 8,10,12,14,18,24", "MS Sans Serif 8,10,12,14,18,24 (текущий масштаб)" и добавили переменную "MS Sans Serif" со значением "sserifer.fon".
После этого шрифт заработал корректно.
12 окт 18, 12:30    [21702369]     Ответить | Цитировать Сообщить модератору
 Re: Поломался шрифт MS Sans Serif в Windows 10  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 47680

DmSer
для некоторых компонентов шрифт Arial подставляется, а для некоторых - кракозябры.

Судя по списку в стартовом посте, нормально отображаются компоненты, отрисовываемые самой
Windows, а "кракозябрами" - те, которые пытается рисовать VCL самостоятельно.

Posted via ActualForum NNTP Server 1.5

12 окт 18, 12:39    [21702384]     Ответить | Цитировать Сообщить модератору
 Re: Поломался шрифт MS Sans Serif в Windows 10  [new]
white_nigger
Member

Откуда: Тула
Сообщений: 2118
Потому как сансериф растровое говно мамонта и для ui в винде давно используются (и должны использоваться) векторные шрифты
12 окт 18, 12:44    [21702393]     Ответить | Цитировать Сообщить модератору
 Re: Поломался шрифт MS Sans Serif в Windows 10  [new]
DmSer
Member

Откуда: Пенза
Сообщений: 850
А TListBox разве не виндой рисуется?
TSpeedButton кто рисует?
12 окт 18, 12:44    [21702394]     Ответить | Цитировать Сообщить модератору
 Re: Поломался шрифт MS Sans Serif в Windows 10  [new]
DmSer
Member

Откуда: Пенза
Сообщений: 850
white_nigger
Потому как сансериф растровое говно мамонта и для ui в винде давно используются (и должны использоваться) векторные шрифты


Полностью согласен!
12 окт 18, 12:45    [21702396]     Ответить | Цитировать Сообщить модератору
 Re: Поломался шрифт MS Sans Serif в Windows 10  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 30037

12.10.2018 12:39, Dimitry Sibiryakov пишет:

насколько я помню, MS Sans Serif - растровый шрифт, а не TrueType.
в отличие от Microsoft Sans Serif, который таки TrueType.

смысла упорно пытаться использовать MS Sans Serif я лично не вижу.

обычно MS Sans Serif подменяют Microsoft Sans Serif, при помощи Font Substitution.
но видимо у ТС что-то "слетело".

Posted via ActualForum NNTP Server 1.5

12 окт 18, 12:49    [21702398]     Ответить | Цитировать Сообщить модератору
 Re: Поломался шрифт MS Sans Serif в Windows 10  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 30037

12.10.2018 12:45, DmSer пишет:
> white_nigger
> Потому как сансериф растровое говно мамонта и для ui в винде давно используются (и должны использоваться) векторные шрифты
> Полностью согласен!

убейтесь оба ап стену.
сансериф - тип начертания, а не тип фонта (растровый/векторный)

Posted via ActualForum NNTP Server 1.5

12 окт 18, 12:51    [21702403]     Ответить | Цитировать Сообщить модератору
 Re: Поломался шрифт MS Sans Serif в Windows 10  [new]
DmSer
Member

Откуда: Пенза
Сообщений: 850
Мимопроходящий
12.10.2018 12:39, Dimitry Sibiryakov пишет:

насколько я помню, MS Sans Serif - растровый шрифт, а не TrueType.
в отличие от Microsoft Sans Serif, который таки TrueType.

смысла упорно пытаться использовать MS Sans Serif я лично не вижу.

обычно MS Sans Serif подменяют Microsoft Sans Serif, при помощи Font Substitution.
но видимо у ТС что-то "слетело".



Смысла в "MS Sans Serif" нет. Будет время - заменим на векторные. До этого проблем ни у кого не было (несколько тысяч инсталляций ПО).
"Font Substitution" не помог, поскольку винда итак пыталась подставлять шрифт Arial. Мы пытались указывать "MS Sans Serif" = "Arial", "MS Sans Serif,0" = "Arial", "MS Sans Serif,1" = "Arial", "MS Sans Serif,204" = "Arial" и ещё массу комбинаций (каждый раз перезагружали компьютер), но от этого ничего не менялось.
12 окт 18, 12:55    [21702413]     Ответить | Цитировать Сообщить модератору
 Re: Поломался шрифт MS Sans Serif в Windows 10  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 30037

12.10.2018 12:55, DmSer пишет:
> Мы пытались указывать "MS Sans Serif" = "Arial"

дуболомы.
это разные начертания.

Posted via ActualForum NNTP Server 1.5

12 окт 18, 12:59    [21702415]     Ответить | Цитировать Сообщить модератору
 Re: Поломался шрифт MS Sans Serif в Windows 10  [new]
DmSer
Member

Откуда: Пенза
Сообщений: 850
и что?
12 окт 18, 13:03    [21702421]     Ответить | Цитировать Сообщить модератору
 Re: Поломался шрифт MS Sans Serif в Windows 10  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 47680

DmSer
А TListBox разве не виндой рисуется?
TSpeedButton кто рисует?

VCL. Посмотришь внутрь - увидишь Owner Draw.

Posted via ActualForum NNTP Server 1.5

12 окт 18, 13:04    [21702422]     Ответить | Цитировать Сообщить модератору
 Re: Поломался шрифт MS Sans Serif в Windows 10  [new]
white_nigger
Member

Откуда: Тула
Сообщений: 2118
Мимопроходящий, убейся сам, два раза. То говно что шло по умолчанию с древней делфей - растровое
12 окт 18, 13:15    [21702435]     Ответить | Цитировать Сообщить модератору
 Re: Поломался шрифт MS Sans Serif в Windows 10  [new]
white_nigger
Member

Откуда: Тула
Сообщений: 2118
DmSer, совет - Если есть сырцы - замени в приложении шрифт на Segoi UI или на крайний на Tahoma. Тем более, раз приходиться dpi менять. Помимо твоей проблемы, растровые шрифты погано масштабируются, поворачиваются, не поддерживают cleartype и приложения выглядят чужеродно в современных виндах.
12 окт 18, 13:41    [21702470]     Ответить | Цитировать Сообщить модератору
 Re: Поломался шрифт MS Sans Serif в Windows 10  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 47680

white_nigger
Если есть сырцы - замени в приложении шрифт на Segoi UI или на крайний на Tahoma.

В таком случае лучше вообще выкинуть принудительное назначение шрифта и использовать
стоковый системный шрифт. Да, я знаю, что от этой идеи дельфинов и дизайнеров выворачивает
на изнанку, но оно хотя бы работать будет.

Posted via ActualForum NNTP Server 1.5

12 окт 18, 13:54    [21702500]     Ответить | Цитировать Сообщить модератору
 Re: Поломался шрифт MS Sans Serif в Windows 10  [new]
DmSer
Member

Откуда: Пенза
Сообщений: 850
white_nigger
DmSer, совет - Если есть сырцы - замени в приложении шрифт на Segoi UI или на крайний на Tahoma. Тем более, раз приходиться dpi менять. Помимо твоей проблемы, растровые шрифты погано масштабируются, поворачиваются, не поддерживают cleartype и приложения выглядят чужеродно в современных виндах.


Да-да, я сталкивался в поганым масштабированием растровых шрифтов. Те, которые масштабировались особо погано, были заменены на векторные. В последние годы плотность пикселей на мониторах увеличилась, а возможно и в будущем продолжит увеличиваться, поэтому проблему решать однозначно придётся.
12 окт 18, 14:25    [21702549]     Ответить | Цитировать Сообщить модератору
 Re: Поломался шрифт MS Sans Serif в Windows 10  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 30037

12.10.2018 13:15, white_nigger пишет:
> То говно что шло по умолчанию с древней делфей - растровое

и вот такие "специалисты" пишут GUI-компоненты...

1. шрифты с Delphi не поставляются.
2. смотри сюда 21702398, если не дошло с первого раза.

ещё раз, специально для "специалистов" из девиант-арта:
Санс-Сериф - группа шрифтов (по начертанию).
Они бывают растровые, как например MS Sans Serif,
так и векторные/TrueType/OpenType, как например Microsoft Sans Serif.
и то, и другое поставляется с Windows "из каропки", как минимум лет 20.

зачем поциент выбирает растровый фонт вместо векторного - его личная головная боль.

Posted via ActualForum NNTP Server 1.5

12 окт 18, 14:28    [21702556]     Ответить | Цитировать Сообщить модератору
 Re: Поломался шрифт MS Sans Serif в Windows 10  [new]
white_nigger
Member

Откуда: Тула
Сообщений: 2118
Мимопроходящий
и вот такие "специалисты" пишут GUI-компоненты...

1. шрифты с Delphi не поставляются.
2. смотри сюда 21702398, если не дошло с первого раза.

ещё раз, специально для "специалистов" из девиант-арта:
Санс-Сериф - группа шрифтов (по начертанию).
Они бывают растровые, как например MS Sans Serif,
так и векторные/TrueType/OpenType, как например Microsoft Sans Serif.
и то, и другое поставляется с Windows "из каропки", как минимум лет 20.

зачем поциент выбирает растровый фонт вместо векторного - его личная головная боль.
Уймись знаток лаптёвый. Без тебя уже всё необходимое выяснили. Надень очки и посмотри какой шрифт прописан по умолчанию в древних делфях. А потом найди его в винде и глянь растровый он или нет. И уж точно не тебе мне про шрифты объяснять. Про начертание шрифтов вообще в топике речи не было и к проблеме ТС отношение не имеет. Мимо проходи...
12 окт 18, 16:55    [21702754]     Ответить | Цитировать Сообщить модератору
 Re: Поломался шрифт MS Sans Serif в Windows 10  [new]
white_nigger
Member

Откуда: Тула
Сообщений: 2118
Dimitry Sibiryakov
В таком случае лучше вообще выкинуть принудительное назначение шрифта и использовать
стоковый системный шрифт. Да, я знаю, что от этой идеи дельфинов и дизайнеров выворачивает
на изнанку, но оно хотя бы работать будет.
Проблема в том что нужно код писать :) Иначе даже если ручками из dfm убрать запись со шрифтом, делфя сама его пропишет при сохранении. Причем даже в 10.2 им будет Tahoma, хотя давно в винде Segoi UI используется.
12 окт 18, 17:14    [21702775]     Ответить | Цитировать Сообщить модератору
 Re: Поломался шрифт MS Sans Serif в Windows 10  [new]
DmSer
Member

Откуда: Пенза
Сообщений: 850
С этим ноутбуком вчера ещё один прикол с Windows 10 обнаружился: оказывается в версии 1803 убрали возможность из ОС настроить шрифты и размеры для различных элементов окон. Раньше можно было настроить шрифты для пунктов меню, MessageBox, размер полосы прокрутки, ширину рамки вокруг окна, высоту заголовка окна и т.д. Теперь нельзя. Решили, что пользователям это не нужно.
Дебилы! :(
13 окт 18, 09:53    [21703179]     Ответить | Цитировать Сообщить модератору
 Re: Поломался шрифт MS Sans Serif в Windows 10  [new]
white_nigger
Member

Откуда: Тула
Сообщений: 2118
bk0010
Ух ты, живой человек, сделавшей коррекцию
Хм. У нас в одном только кабинете трое сделали. Сделал на оба глаза, все хорошо левый единица, правый около того. Самолёты, акваланги, спорт - без ограничений. К полтиннику никак пока не изменилось. Про дальнозоркость была интересная беседа с главврачем перед операцией, но не уверен что здесь надо писать. Сама операция меньше минуты на глаз. Через сутки - другой человек. А одному из наших один глаз переделывали. Есть маленький риск и свои тонкости
13 окт 18, 15:45    [21703313]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Delphi Ответить