フォントの操作

フォントは、特定のサイズ、色、およびデザインを持つ文字のセットです。 Aspose.Wordsを使用すると、Fonts名前空間とFontクラスを使用してフォントを操作できます。

フォントの書式設定

現在のフォントの書式設定は、Fontプロパティによって返されるFontオブジェクトによって表されます。 Fontクラスには、さまざまなフォントプロパティが含まれており、Microsoft Wordで使用可能なフォントプロパティを複製しています。

次のコード例は、フォントの書式設定を設定する方法を示しています:

For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C
System::SharedPtr<Document> doc = System::MakeObject<Document>();
System::SharedPtr<DocumentBuilder> builder = System::MakeObject<DocumentBuilder>(doc);
// Set font formatting properties
System::SharedPtr<Font> font = builder->get_Font();
font->set_Bold(true);
font->set_Color(System::Drawing::Color::get_DarkBlue());
font->set_Italic(true);
font->set_Name(u"Arial");
font->set_Size(24);
font->set_Spacing(5);
font->set_Underline(Underline::Double);
// Output formatted text
builder->Writeln(u"I'm a very nice formatted string.");
System::String outputPath = outputDataDir + u"DocumentBuilderSetFormatting.SetFontFormatting.doc";
doc->Save(outputPath);

フォントでテキストの塗りつぶしの書式設定を設定するための塗りつぶしプロパティも使用できるようになりました。 これは、例えば、テキスト塗りつぶしの前景色や透明度を変更する機能を提供します。

フォントの行間隔を取得する

フォントの行間隔は、連続する2行のテキストのベースライン間の垂直方向の距離です。 したがって、行間隔には、文字自体の高さとともに行間の空白が含まれます。

次の例に示すように、この値を取得するためにLineSpacingプロパティがFontクラスに導入されました:

For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C
// Initialize document.
System::SharedPtr<Document> doc = System::MakeObject<Document>();
System::SharedPtr<DocumentBuilder> builder = System::MakeObject<DocumentBuilder>(doc);
builder->get_Font()->set_Name(u"Calibri");
builder->Writeln(u"qText");
// Obtain line spacing.
System::SharedPtr<Font> font = builder->get_Document()->get_FirstSection()->get_Body()->get_FirstParagraph()->get_Runs()->idx_get(0)->get_Font();
//Console.WriteLine($"lineSpacing = {font.LineSpacing}");
std::cout << "lineSpacing = " << font->get_LineSpacing() << std::endl;

フォントEmphasisMark

一部の東アジア言語では、強調を示すために特別な強調マークを使用しています。 Fontクラスは、書式設定時に適用されるEmphasisMark列挙値を取得または設定するEmphasisMarkプロパティを提供します。

次のコード例は、EphasisMarkプロパティを設定する方法を示しています:

For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C
auto document = System::MakeObject<Document>();
auto builder = System::MakeObject<DocumentBuilder>(document);
builder->get_Font()->set_EmphasisMark(EmphasisMark::UnderSolidCircle);
builder->Write(u"Emphasis text");
builder->Writeln();
builder->get_Font()->ClearFormatting();
builder->Write(u"Simple text");
document->Save(outputDataDir + u"FontEmphasisMark_out.doc");