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