Trabalhar com fontes

Uma fonte é um conjunto de caracteres com um determinado tamanho, cor e design. Aspose.Words permite que você trabalhe com fontes usando o namespace Fonts e a classe Font.

Formatação Da Fonte

A formatação da fonte atual é representada pelo objeto Font retornado pela propriedade Font. A classe Font contém uma grande variedade de propriedades de fonte, replicando as disponíveis em Microsoft Word.

O exemplo de código a seguir mostra como definir a formatação da fonte:

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

As propriedades de preenchimento agora também estão disponíveis para fontes para definir a formatação de preenchimento do texto. Permite alterar, por exemplo, a cor do primeiro plano ou a transparência do preenchimento do texto.

Obtendo O Espaçamento Entre Linhas Da Fonte

O espaçamento entre linhas de fonte é a distância vertical entre as linhas de base de duas linhas consecutivas de texto. Portanto, o espaçamento entre linhas inclui o espaço em branco entre as linhas junto com a altura do próprio caractere.

A propriedade LineSpacing foi introduzida na classe Font para obter esse valor, conforme mostrado no exemplo abaixo:

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;

Fonte EmphasisMark

Algumas línguas do leste asiático usam uma marca de ênfase especial para indicar uma ênfase. A classe Font fornece a propriedade EmphasisMark para obter ou definir os valores de enumeração EmphasisMark a serem aplicados durante a formatação.

O exemplo de código a seguir mostra como definir a propriedade 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");