Как настроить ширину шрифта с помощью Uniscribe API

Пожалуйста, потерпите меня, я новичок в Uniscribe, поэтому надеюсь, что это не глупый вопрос, но я не смог найти решение где-либо еще. Итак, здесь идет...

Я пытаюсь использовать Uniscribe API, чтобы уменьшить ширину шрифта; то есть, учитывая конкретный шрифт определенной высоты, я хотел бы иметь возможность уменьшить ширину каждого символа (и все соответствующие интервалы) на некоторый определенный пользователем процент.

Я успешно достиг этого без вызова каких-либо функций Uniscribe, получив LOGFONT структура для текущего шрифта и корректировки lfWidth поле в процентах от его первоначального значения. Я понимаю, что это всего лишь средняя ширина символа, но, похоже, он дал желаемый результат.

Однако, когда я пытаюсь сделать то же самое с помощью Uniscribe, я заметил, что lfWidth поле обнуляется после 0 обращений к ScriptShape(), В результате весь визуализированный текст выводится с использованием его исходной ширины. Я затрудняюсь объяснить, почему это или что нужно сделать, чтобы обойти это.

У кого-нибудь есть идеи, возможно ли сделать то, что я пытаюсь сделать?

1 ответ

Решение

Возможно, вы захотите начать здесь (см. Раздел "Создание информации о глифе"), а затем привести к этому.

Надеюсь, поможет!

Другие вопросы по тегам