Σε αυτό το θέμα, θα διερευνήσουμε πώς να λάβετε μετρήσεις γραμματοσειράς χρησιμοποιώντας C++. Οι μετρήσεις γραμματοσειρών περιλαμβάνουν πληροφορίες σχετικά με τους γλυφούς σε ένα αρχείο γραμματοσειράς. Μπορείτε εύκολα να εξάγετε μετρήσεις γραμματοσειράς χρησιμοποιώντας C++ με λίγες κλήσεις API, καθώς διαφορετικά να λαμβάνετε τις πληροφορίες σχετικά με τις μετρήσεις γραμματοσειρών όχι τόσο απλά.
Βήματα για να λάβετε μετρήσεις γραμματοσειράς χρησιμοποιώντας C++
- Εγκαταστήστε τη βιβλιοθήκη Aspose.Font for C++ χρησιμοποιώντας το εργαλείο διαχείρισης πακέτων NuGet
- Συμπεριλάβετε την αναφορά στον χώρο ονομάτων Aspose::Font
- Δημιουργία αντικειμένου κλάσης FontDefinition
- Αρχικοποιήστε ένα αντικείμενο της κλάσης Type1Font
- Λάβετε διαφορετικές ιδιότητες του 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); | |
} | |
}; |
Προηγουμένως, μάθαμε το πώς να αποκτήσετε το Font Metric σε C#. Ωστόσο, σε αυτό το θέμα έχουμε εφαρμόσει τον τρόπο εξαγωγής μετρήσεων γραμματοσειράς χρησιμοποιώντας C++.