使用字体

字体是一组具有一定大小、颜色和设计的字符。 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);

填充属性现在也可用于字体设置文本的填充格式。 它提供了改变例如文本填充的前景颜色或透明度的能力。

获取字体行间距

字体行间距是连续两行文本基线之间的垂直距离。 所以行间距包括行与字符本身的高度之间的空白空间。

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");