Font Manipulation via C++ API
Product Page | Docs | API Reference | Examples | Blog | Search | Free Support | Temporary License
Aspose.Font for C++ is a C++ API that offers you a library of readily available C++ code for font processing and manipulation. Our API enables your C++ applications to load, edit, and save font data as well as render any desired Glyph or text.
Font Processing Features
- Load font files from disc as well as stream.
- Read font information and save updated font files to disc.
- Support for TrueType and OpenType Fonts.
- Work with CFF & Type1 fonts in your C++ Apps.
- Read Glyphs and Metrics information from Font files.
- Detect Latin Symbols in Fonts.
- Extract embedded licensing information from font files.
- Render text using font Glyphs.
TTF
TTC, OpenType, CFF, Type1, WOFF/WOFF2
Aspose.Font for C++ is a native library. It supports 32-bit
as well as 64-bit
operating systems. Also, you can use Aspose.Font for C++ to develop applications in any development environment that supports C++, but the listed environments are explicitly supported.
Microsoft Windows: Microsoft Windows desktop (XP, Vista, 7, 8, 10) and server operating systems (2003, 2008, 2012), etc.
Development Environments: Microsoft Visual C++ version 2017 or higher.
Get Started
Are you ready to give Aspose.Font for C++ a try? Simply execute Install-Package Aspose.Font.Cpp
from Package Manager Console in Visual Studio to fetch the NuGet package. If you already have Aspose.Font for C++ and want to upgrade the version, please execute Update-Package Aspose.Font.Cpp
to get the latest version.
Check Latin Symbols Support in the Font using C++ Code
System::String fileName = dataDir + u"Montserrat-Regular.ttf";
//Font file name with full path
System::SharedPtr<FontDefinition> fd = System::MakeObject<FontDefinition>(Aspose::Font::FontType::TTF, System::MakeObject<FontFileDefinition>(u"ttf", System::MakeObject<FileSystemStreamSource>(fileName)));
System::SharedPtr<TtfFont> ttfFont = System::DynamicCast_noexcept<Aspose::Font::Ttf::TtfFont>(Aspose::Font::Font::Open(fd));
bool latinText = true;
for (uint32_t code = 65; code < static_cast<uint32_t>(123); code++)
{
System::SharedPtr<GlyphId> gid = ttfFont->get_Encoding()->DecodeToGid(code);
if (gid == nullptr || gid == System::StaticCast<System::Object>(GlyphUInt32Id::get_NotDefId()))
{
latinText = false;
}
}
if (latinText)
{
System::Console::WriteLine(System::String::Format(u"Font {0} supports latin symbols.", ttfFont->get_FontName()));
}
else
{
System::Console::WriteLine(System::String::Format(u"Latin symbols are not supported by font {0}.", ttfFont->get_FontName()));
}
Product Page | Docs | API Reference | Examples | Blog | Search | Free Support | Temporary License