ご容赦ください。私は Uniscribe を初めて使用するので、これがばかげた質問ではないことを願っていますが、他のどこにも解決策を見つけることができませんでした。それで、ここに行きます...
Uniscribe API を使用してフォントの幅を縮小しようとしています。つまり、特定の高さの特定のフォントが与えられた場合、各文字の幅 (および関連するすべてのスペース) をユーザー定義のパーセンテージで縮小できるようにしたいと考えています。
LOGFONT
現在のフォントの構造を取得し、lfWidth
フィールドを元の値のパーセンテージに調整することで、Uniscribe 関数を呼び出さずにこれを成功裏に達成しました。これは単なる平均的な文字幅ですが、望ましい結果が得られたようです。
ただし、Uniscribe を使用して同じことを実行しようとすると、 のlfWidth
呼び出しに続いてフィールドが 0 にリセットされることに気付きましたScriptShape()
。その結果、すべてのレンダリングされたテキストは元の幅を使用して出力されます。これがなぜなのか、またはそれを回避するために何をすべきかを説明するのに途方に暮れています。
私がやろうとしていることをすることが可能であるかどうか、誰にも分かりませんか?