Работа со шрифтами
Шрифт - это набор символов определенного размера, цвета и оформления. 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; |
Знак подчеркивания шрифта
В некоторых восточноазиатских языках для обозначения ударения используется специальный знак. Класс 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"); |