کار با فونت ها
فونت مجموعه ای از کاراکترها با اندازه، رنگ و طراحی خاص است. 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); |
ویژگی های Fill now نیز برای فونت ها برای تنظیم قالب بندی fill متن در دسترس است. این توانایی را برای تغییر، به عنوان مثال، رنگ پیش زمینه یا شفافیت متن پر می کند.
گرفتن فاصله خط فونت
فاصله خط فونت فاصله عمودی بین خطوط پایه دو خط متوالی متن است. بنابراین فاصله خط شامل فضای خالی بین خطوط همراه با ارتفاع خود کاراکتر است.
ویژگی 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"); |