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