Робота зі шрифтами

Шрифт-це набір символів певного розміру, кольору і оформлення. 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");