2010-12-14 14 views
3

Silverlightで文字間隔、カーニングまたはトラッキングを管理する最も簡単な方法は何ですか?Silverlightの文字間隔

現在、Arialには文字間に余裕がある大きなタイトルがあります。

おかげ

答えて

0

私はそれが現時点ではランタイムによってサポートされていることはないと思います。テキストをパスとしてエクスポートして使用することができます。

+0

感謝。私は、すべての単語を分割するtextblockの動作を、spacingパラメータを割り当てるプロパティで記述すると思います。 – keyle

2

それが最善の解決策だか知らないが、それは私のために正常に動作します:

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; 
    }