0

Windows::UI::Xaml::Controls::TextBox次のコード行を使用してa のフォントを設定した場合:

textBox->FontFamily = ref new Windows::UI::Xaml::Media::FontFamily("Arial");

x86 シミュレーターでは、Arial フォントの TextBox を取得します。偉大な。

同じコード行を Surface RT デバイスで実行すると、Arial Narrow フォントの TextBox が表示されます。それほど素晴らしいことではありません。

デバイスを調べて、Arial フォントがインストールされていることを確認しました。です。私のデバイスでは、WORD を起動し、Arial で作曲を開始しました。私の文字は実際に Arial (Arial Narrow ではありません) の文字でした。TextBox に Arial フォントを使用させるために知っておくべきトリックはありますか? その価値のために、私はFontStretchプロパティをいじってみましたが、まったく効果がありませんでした.

4

2 に答える 2

0

One approach to explicitly force the font selection is to use the Text Object Model interface (http://msdn.microsoft.com/en-us/library/windows/desktop/bb774052(v=vs.85).aspx) to set the FontStretch property to Normal. By doing this the Arial font (not the Arial Narrow font) is guaranteed to always be used. I hope this helps!

In XAML / C++

ITextDocument^ doc = myControl->Document;
ITextCharacterFormat^ format = doc->GetDefaultCharacterFormat();
format->FontStretch = Windows::UI::Text::FontStretch::Normal;
doc->SetDefaultCharacterFormat(format);

Or in XAML / C#

ITextDocument doc = myControl.Document;
ITextCharacterFormat format = doc.GetDefaultCharacterFormat();
format.FontStretch = Windows.UI.Text.FontStretch.Normal;
doc.SetDefaultCharacterFormat(format);
于 2013-11-18T18:30:57.007 に答える