Здравствуйте, Sinclair, Вы писали:
M>>Это не в кеглях. У меня HDC MapMode в пикселях. И да, используется самый что ни на есть тупейший GDIшный TextOut. А кегли в пиксели пересчитать с учетом масштабирования даже третьекласник справится.
S>Дело не в третьекласснике. Дело в конкретных размерах. Пусть будет в пикселах — какие параметры использовались?
Было
lf.lfOutPrecision = OUT_OUTLINE_PRECIS;
lf.lfClipPrecision = CLIP_DEFAULT_PRECIS;
lf.lfQuality = ANTIALIASED_QUALITY;
lf.lfPitchAndFamily = DEFAULT_PITCH | FF_DONTCARE;
| | Скрытый текст |
| |  |
| | |
Перечитал доку — оказалось, что ANTIALIASED_QUALITY работает только если глобальная настройка в системе включена
Поиграл, сделал
lf.lfOutPrecision = OUT_OUTLINE_PRECIS;
lf.lfClipPrecision = CLIP_DEFAULT_PRECIS;
lf.lfQuality = CLEARTYPE_QUALITY;
lf.lfPitchAndFamily = DEFAULT_PITCH | FF_DONTCARE;
| | Скрытый текст |
| |  |
| | |
Стало поприятнее
S>Это, конечно, здорово, вот только размеры шрифта в десятки пикселов не очень интересны. Там более-менее любой растеризатор справится.
S>Попробуйте взять реалистичные размеры для чтения текста с экрана — ну, там, 6-7-8-9-10-11-12pt. И посмотрим, насколько линейно меняется ширина текста.
Размер шрифта у меня float, пересчитывается в пиксели по курсу какой укажу
Скачки есть, но фатального ничего не вижу
Померял у себя на экране — размер 4 — 56 мм, размер 2.047 (по двойку только) — 28 мм