نحوه دریافت متریک فونت با استفاده از C++

در این مبحث، نحوه دریافت متریک فونت با استفاده از C++ را بررسی خواهیم کرد. معیارهای فونت شامل اطلاعاتی در مورد حروف در یک فایل فونت است. شما می توانید به راحتی Font Metrics را با استفاده از C++ با چند فراخوانی API استخراج کنید زیرا در غیر این صورت اطلاعات مربوط به متریک فونت را به همین سادگی دریافت می کنید.

مراحل دریافت متریک فونت با استفاده از C++

  1. کتابخانه Aspose.Font for C++ را با استفاده از ابزار مدیریت بسته NuGet نصب کنید
  2. ارجاع به فضای نام Aspose::Font را وارد کنید
  3. شی کلاس FontDefinition ایجاد کنید
  4. یک شی از کلاس Type1Font را راه اندازی کنید
  5. ویژگی های مختلف Font Metrics را دریافت کنید

شما می توانید متریک فونت را با استفاده از C++* در چند تماس ساده API استخراج کنید. تنها چیزی که نیاز دارید دسترسی به نمونه کلاس FontDefinition و خواندن معیارهای فونت با C++ است.

کد برای خواندن متریک فونت با استفاده از C++

#pragma once
#include <cstdint>
#include <stdio.h>
#include <system/console.h>
#include <system/string.h>
#include <system/shared_ptr.h>
#include <system/io/file.h>
#include <system/exceptions.h>
#include <Aspose.Font.Cpp/src/Sources/FontFileDefinition.h>
#include <Aspose.Font.Cpp/src/Sources/FontDefinition.h>
#include <Aspose.Font.Cpp/src/Sources/FileSystemStreamSource.h>
#include <Aspose.Font.Cpp/src/Sources/ByteContentStreamSource.h>
#include <Aspose.Font.Cpp/src/FontType.h>
#include <Aspose.Font.Cpp/src/Font.h>
#include <Aspose.Font.Cpp/src/Cff/CffFont.h>
#include <Aspose.Font.Cpp/src/License.h>
#include <Aspose.Font.Cpp/src/Type1/Type1Font.h>
#include <Aspose.Font.Cpp/src/Font.h>
#include <Aspose.Font.Cpp/src/IFontMetrics.h>
using namespace System;
using namespace Aspose::Font;
using namespace Aspose::Font::Type1;
using namespace Aspose::Font::Cff;
using namespace Aspose::Font::Sources;
class GetFontMetricsEx {
public:
static void GetFontMetricsInfo()
{
// Initialize license object of Aspose.PUB to convert PUB to PDF
auto Fontslicense = System::MakeObject<Aspose::Font::License>();
// Set license
Fontslicense->SetLicense(u"Aspose.Total.NET.lic");
//Font file name with full path
System::String fileName = u"courier.pfb";
System::SharedPtr<FontDefinition> fd =
System::MakeObject<FontDefinition>(Aspose::Font::FontType::Type1,
System::MakeObject<FontFileDefinition>(u"pfb", System::MakeObject<FileSystemStreamSource>(fileName)));
System::SharedPtr<Type1Font> font =
System::DynamicCast_noexcept<Aspose::Font::Type1::Type1Font>(Aspose::Font::Font::Open(fd));
System::String name = font->get_FontName();
System::Console::WriteLine(System::String(u"Font name: ") + name);
System::Console::WriteLine(System::String(u"Glyph count: ") + font->get_NumGlyphs());
System::String metrics = System::String::Format(u"Font metrics: ascender - {0}, descender - {1}, typo ascender = {2}, typo descender = {3}, UnitsPerEm = {4}",
font->get_Metrics()->get_Ascender(), font->get_Metrics()->get_Descender(), font->get_Metrics()->get_TypoAscender(),
font->get_Metrics()->get_TypoDescender(), font->get_Metrics()->get_UnitsPerEM());
System::Console::WriteLine(metrics);
}
};

قبلاً نحوه دریافت متریک فونت در سی شارپ را یاد گرفتیم. با این حال، در این مبحث نحوه * استخراج متریک فونت با استفاده از C++* را پیاده سازی کرده ایم.

 فارسی