
Aspose.Font עבור C++
API גופנים C++ לקריאה, שמירה והמרת גופנים
ספריית C++ מאפשרת לטעון, לקרוא, לשמור ולהמיר פורמטים שונים של גופנים כגון TrueType, WOFF, EOT, OpenType, CFF, ו-Type1 בתוך יישומים מבוססי C++.
Aspose.Font עבור C++ הוא כלי חזק מאוד שמפשט טיפול בגופנים ומציע סט רחב של תכונות למפתחים ומתכנתים. הוא מאפשר למפתחי C++ לעבוד עם פורמטים שונים של גופנים ולבצע מגוון רחב של משימות הקשורות לגופנים. הוא מאפשר למפתחים לטעון, ליצור, לערוך ולהמיר קבצי גופנים בפורמטים שונים, כגון TrueType (TTF), OpenType (OTF), PostScript Type 1 (PFB/PFA), WOFF, EOT ועוד רבים אחרים. ה‑API יכול לשדרג את המשימות הקשורות לגופנים שלך לרמה הבאה ללא תלות חיצונית.
Aspose.Font עבור C++ היא ספרייה עשירה בתכונות המספקת יכולות מקיפות למניפולציה של גופנים למפתחים ב‑C++. הספרייה תומכת במגוון רחב של פעולות על גופנים, כולל חילוץ מטא‑נתוני גופן, טעינת קבצי גופן מהדיסק או מהזרם, גישה למידע על גליפים, המרת גופנים לפורמטים שונים, קריאת מידע על גופן, עדכון קבצי גופן ושמירתם לדיסק, קריאת מידע מדדים מקבצי גופן, רינדור טקסט באמצעות גליפי גופן, מיזוג גופני TrueType ועוד רבים. היא תומכת במערכות הפעלה של 32‑ביט וכן 64‑ביט.
Aspose.Font עבור C++ מציעה יכולות טיפוגרפיות מתקדמות, כולל טיפול בליגטורות, החלפות גליפים קונטקסטואליות ושיקוליות, ואפשרויות פריסת טקסט מתקדמות. תכונות אלו שימושיות במיוחד בעבודה עם כתביות מורכבות או שפות הדורשות עיצוב והצגת טקסט מתוחכמים. ה‑API חוצה פלטפורמות ומאפשר למשתמשים להשתמש בו בצורה חלקה במערכות הפעלה שונות, כולל Windows, Linux ו‑macOS. אם אתה מחפש לשפר את יכולות המניפולציה של גופנים ביישומי C++ שלך, Aspose.Font בהחלט ראויה לשקילה.
התחלה עם Aspose.Font עבור C++
הדרך המומלצת להתקנת Aspose.Font עבור C++ היא באמצעות NuGet. אנא השתמשו בפקודה הבאה להתקנה חלקה.
התקנת Aspose.Font עבור C++ באמצעות פקודת NuGet
NuGet\Install-Package Aspose.Font.Cpp -Version 23.4.0אתם יכולים להוריד את הספרייה ישירות מדף המוצר Aspose.Font עבור C++
המרת גופנים לפורמטים נתמכים באמצעות API של C++
אחת התכונות הבולטות של Aspose.Font עבור C++ היא היכולת שלו להמיר גופנים בין פורמטים שונים הנתמכים. זה הופך לנוח מאוד כאשר מפתחים צריכים להמיר גופנים לפורמט ספציפי התואם לסביבת היעד או הפלטפורמה שלהם. הספרייה תומכת בהמרה חלקה בין גופני TrueType, OpenType, CFF, PostScript Type 1 ועוד, מה שמאפשר למפתחים להתמודד עם מגוון רחב של תרחישים. הדוגמה הבאה מציגה כיצד לטעון גופן מאחד הפורמטים הנתמכים כגון TTF ולהמיר אותו ל‑WOFF2 באמצעות פקודות C++.
המרת TTF ל‑WOFF2 באמצעות API של C++
using namespace System;
using namespace Aspose::Font::Sources;
using namespace Aspose::Font::Ttf;
using namespace Aspose::Font;
// Open TTF font
SharedPtr fontFileDefinition = MakeObject(MakeObject(u"Montserrat-Regular.ttf"));
SharedPtr fontDefinition = MakeObject(FontType::TTF, fontFileDefinition);
SharedPtr font = Font::Open(fontDefinition);
// WOFF2 output settings
SharedPtr outStream = IO::File::Create(u"Montserrat-Regular.woff2");
// Convert TTF to WOFF2
font->SaveToFormat(outStream, FontSavingFormats::WOFF2);
טעינה והוצאת גופני Type1 באמצעות API של C++
Aspose.Font for C++ מאפשר למפתחי תוכנה לטעון Type1 וכן פורמטים אחרים של גופנים נתמכים ממקורות שונים, כגון קבצים מקומיים, זרמים, או כתובות URL. מפתחי תוכנה יכולים לטעון גופנים באופן פרטני או במקבץ, מה שמקל על עיבוד מספר גופנים במקביל. לאחר הטעינה, המפתחים יכולים לעדכן מאפייני הגופנים ולשמור אותם חזרה לפורמט הרצוי או לייצא אותם לפורמטים אחרים בקלות. הדוגמה הבאה מציגה כיצד לטעון ולחלץ נתונים מגופני type1 בתוך יישומי C++.
איך לטעון ולהוציא נתונים מגופני Type1 באמצעות API של C++?
System::String fileName = dataDir + u"courier.pfb";
//Font file name with full path
System::SharedPtr fd = System::MakeObject(Aspose::Font::FontType::Type1, System::MakeObject(u"pfb", System::MakeObject(fileName)));
System::SharedPtr font = System::DynamicCast_noexcept(Aspose::Font::Font::Open(fd));
תמיכה במדדי גופנים ובגליפים
Aspose.Font for C++ היא ספרייה עשירה בתכונות המספקת גישה למגוון רחב של מדדי גופנים, כולל עלייה (ascent), ירידה (descent), רווח שורה (line gap) ומדידות חיוניות אחרות. מפתחי תוכנה יכולים לקבל מידע על גליפים כגון ערכי Unicode, תיבות גבול (bounding boxes), רוחבי קידום (advance widths) ועוד. תכונות אלו מאפשרות למשתמשים למקם ולרנדר טקסט במדויק בתוך היישומים שלכם. הדוגמה הבאה מציגה כיצד מפתחי תוכנה יכולים לרנדר טקסט עם הגליפים באמצעות פקודות C++.
איך להציג טקסט עם הגליפים ביישומי C++?
using Aspose::Font::Glyphs;
using Aspose::Font::Rendering;
using Aspose::Font::RenderingPath;
class GlyphOutlinePainter: IGlyphOutlinePainter
RenderingText::GlyphOutlinePainter::GlyphOutlinePainter(System::SharedPtr path)
{
_path = path;
}
void RenderingText::GlyphOutlinePainter::MoveTo(System::SharedPtr moveTo)
{
_path->CloseFigure();
_currentPoint.set_X((float)moveTo->get_X());
_currentPoint.set_Y((float)moveTo->get_Y());
}
void RenderingText::GlyphOutlinePainter::LineTo(System::SharedPtr lineTo)
{
float x = (float)lineTo->get_X();
float y = (float)lineTo->get_Y();
_path->AddLine(_currentPoint.get_X(), _currentPoint.get_Y(), x, y);
_currentPoint.set_X(x);
_currentPoint.set_Y(y);
}
void RenderingText::GlyphOutlinePainter::CurveTo(System::SharedPtr curveTo)
{
float x3 = (float)curveTo->get_X3();
float y3 = (float)curveTo->get_Y3();
_path->AddBezier(_currentPoint.get_X(), _currentPoint.get_Y(), (float)curveTo->get_X1(), (float)curveTo->get_Y1(), (float)curveTo->get_X2(), (float)curveTo->get_Y2(), x3, y3);
_currentPoint.set_X(x3);
_currentPoint.set_Y(y3);
}
void RenderingText::GlyphOutlinePainter::ClosePath()
{
_path->CloseFigure();
}
System::Object::shared_members_type Aspose::Font::Examples::WorkingWithTrueTypeAndOpenTypeFonts::RenderingText::GlyphOutlinePainter::GetSharedMembers()
{
auto result = System::Object::GetSharedMembers();
result.Add("Aspose::Font::Examples::WorkingWithTrueTypeAndOpenTypeFonts::RenderingText::GlyphOutlinePainter::_path", this->_path); result.Add("Aspose::Font::Examples::WorkingWithTrueTypeAndOpenTypeFonts::RenderingText::GlyphOutlinePainter::_currentPoint", this->_currentPoint);
return result;
}
מניפולציה ועריכת גופנים באמצעות API של C++
Aspose.Font עבור C++ מאפשר למפתחי תוכנה לטעון Type1 וכן פורמטים אחרים של גופנים נתמכים ממקורות שונים, כגון קבצים מקומיים, זרמים או כתובות URL. מפתחי תוכנה יכולים לטעון גופנים באופן יחיד או במקבץ, מה שמקל על עיבוד מספר גופנים במקביל. לאחר הטעינה, המפתחים יכולים לעדכן את מאפייני הגופנים ולשמור אותם חזרה לפורמט הרצוי או לייצא אותם לפורמטים אחרים בקלות. הדוגמה הבאה מציגה כיצד לטעון ולחלץ נתונים מגופני type1 בתוך יישומי C++.
קרא מידע מדדי גופנים מ‑Type1 בתוך אפליקציות C++
System::String fileName = dataDir + u"courier.pfb";
//Font file name with full path
System::SharedPtr fd = System::MakeObject(Aspose::Font::FontType::Type1, System::MakeObject(u"pfb", System::MakeObject(fileName)));
System::SharedPtr font = System::DynamicCast_noexcept(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);
