Silverlight で文字間隔、カーニング、またはトラッキングを管理する最も簡単な方法は何ですか?
現在、文字間のスペースが大きすぎる Arial の大きなタイトルがあります。
ありがとう
Silverlight で文字間隔、カーニング、またはトラッキングを管理する最も簡単な方法は何ですか?
現在、文字間のスペースが大きすぎる Arial の大きなタイトルがあります。
ありがとう
それが最善の解決策であるかどうかはわかりませんが、私にとっては問題なく機能します:
SomeElement.Children.Add(LetterSpacing("Test", -3));
..。
private Canvas LetterSpacing(string String, double Space)
{
Canvas kpr = new Canvas();
char[] lters = String.ToCharArray();
Label[] lbls = new Label[lters.Length];
for (int i = 0; i < lters.Length; i++)
{
Label tmpLbl = new Label();
lbls[i] = tmpLbl;
kpr.Children.Add(lbls[i]);
lbls[i].Content = lters[i];
lbls[i].FontSize = 30;
lbls[i].FontFamily = new FontFamily("Verdana");
}
Dispatcher.BeginInvoke(
() =>
{
double leftPos = 0;
for (int j = 0; j < lbls.Length; j++)
{
Canvas.SetLeft(lbls[j], 0 + leftPos);
leftPos += (lbls[j].ActualWidth - (Space * -1));
}
});
return kpr;
}
現時点では、ランタイムでサポートされているとは思いません。テキストをパスとしてエクスポートして使用できます。