1. Ürün:% s
  2.   Font
  3.   C++
  4.   Aspose.Font for C++

Aspose.Font for C++

 
 

C++ Font API'si Fontları Okumak, Kaydetmek ve Dönüştürmek İçin

C++ Kütüphanesi, C++ tabanlı uygulamalarda TrueType, WOFF, EOT, OpenType, CFF ve Type1 gibi farklı font formatlarını yüklemeye, okumaya, kaydetmeye ve dönüştürmeye olanak tanır.

Aspose.Font for C++, yazı tipi işlemlerini basitleştiren ve yazılım geliştiricileri ile programcılara kapsamlı bir özellik seti sunan çok güçlü bir araçtır. C++ geliştiricilerine çeşitli yazı tipi formatlarıyla çalışmayı ve geniş bir yelpazede yazı tipiyle ilgili görevleri yerine getirmeyi sağlar. Yazılım geliştiricilerinin TrueType (TTF), OpenType (OTF), PostScript Type 1 (PFB/PFA), WOFF, EOT ve daha birçok formatta yazı tipi dosyalarını yüklemelerine, oluşturmalarına, düzenlemelerine ve dönüştürmelerine olanak tanır. API, dış bağımlılıklar olmadan yazı tipiyle ilgili görevlerinizi bir sonraki seviyeye taşıyabilir.

Aspose.Font for C++ özellik bakımından zengin bir kütüphanedir ve C++ geliştiricileri için kapsamlı yazı tipi manipülasyonu yetenekleri sunar. Kütüphane, yazı tipi meta verilerini çıkarmak, diskten veya akıştan yazı tipi dosyalarını yüklemek, glif bilgilerine erişmek, yazı tiplerini farklı formatlara dönüştürmek, yazı tipi bilgilerini okumak, yazı tipi dosyalarını güncellemek ve diske kaydetmek, yazı tipi dosyalarından ölçüm bilgilerini okumak, glifleri kullanarak metin renderlemek, TrueType yazı tiplerini birleştirmek ve daha fazlası gibi geniş bir yelpazede yazı tipi işlemlerini destekler. 32‑bit ve 64‑bit işletim sistemlerini destekler.

Aspose.Font for C++ gelişmiş tipografik yetenekler sunar; ligatürleri, bağlamsal ve isteğe bağlı glif değişimlerini ve gelişmiş metin yerleşim seçeneklerini yönetir. Bu özellikler, karmaşık betikler veya gelişmiş metin şekillendirme ve renderleme gerektiren dillerle çalışırken özellikle faydalıdır. API çapraz platformdur ve kullanıcıların Windows, Linux ve macOS dahil olmak üzere farklı işletim sistemlerinde sorunsuz bir şekilde kullanmasını sağlar. C++ uygulamalarınızda yazı tipi manipülasyonu yeteneklerini artırmak istiyorsanız, Aspose.Font kesinlikle değerlendirmeye değerdir.

Previous Next

Aspose.Font for C++ ile Başlarken

Aspose.Font for C++'ı kurmanın önerilen yolu NuGet kullanmaktır. Sorunsuz bir kurulum için lütfen aşağıdaki komutu kullanın.

NuGet Komutu ile Aspose.Font for C++ Kurulumu

NuGet\Install-Package Aspose.Font.Cpp -Version 23.4.0

Kütüphaneyi doğrudan Aspose.Font for C++ ürün sayfasından indirebilirsiniz.

C++ API'si ile Desteklenen Dosya Biçimlerine Yazı Tipi Dönüştürme

Aspose.Font for C++'ın dikkat çekici özelliklerinden biri, yazı tiplerini farklı desteklenen dosya formatları arasında dönüştürme yeteneğidir. Bu, yazılım geliştiricilerin yazı tiplerini hedef ortam veya platformunuzla uyumlu belirli bir formata dönüştürmeleri gerektiğinde çok kullanışlı olur. Kütüphane, TrueType, OpenType, CFF, PostScript Type 1 yazı tipleri ve daha fazlası arasında sorunsuz dönüşümü destekleyerek geliştiricilerin geniş bir senaryo yelpazesine hizmet vermesini sağlar. Aşağıdaki örnek, TTF gibi desteklenen formatlardan herhangi birinden yazı tipini yükleyip C++ komutlarıyla WOFF2'ye nasıl dönüştüreceğinizi gösterir.

C++ API kullanarak TTF'yi WOFF2'ye Dönüştürme

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);

C++ API'si ile Type1 Yazı Tiplerini Yükleme ve Çıkarma

Aspose.Font for C++ yazılım geliştiricilerine Type1 ve diğer desteklenen yazı tipi formatlarını yerel dosyalar, akışlar veya URL'ler gibi farklı kaynaklardan yükleme imkanı sağlar. Yazılım geliştiricileri yazı tiplerini tek tek veya toplu olarak yükleyebilir, böylece birden fazla yazı tipini aynı anda işlemek kolaylaşır. Yüklendikten sonra, geliştiriciler yazı tiplerinin özelliklerini güncelleyebilir ve istenen formata geri kaydedebilir veya diğer formatlara kolayca dışa aktarabilir. Aşağıdaki örnek, C++ uygulamaları içinde type1 yazı tiplerini nasıl yükleyeceğinizi ve verileri nasıl çıkaracağınızı gösterir.

C++ API kullanarak Type1 Yazı Tiplerinden Veri Nasıl Yüklenir ve Çıkarılır?

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));

Yazı Tipi Ölçümleri ve Glif Desteği

Aspose.Font for C++ çok özellikli bir kütüphane olup, yükselme, alçalma, satır boşluğu ve çeşitli diğer temel ölçümler dahil olmak üzere geniş bir yazı tipi metriği yelpazesine erişim sağlar. Yazılım geliştiricileri Unicode değerleri, sınırlama kutuları, ilerleme genişlikleri ve daha fazlası gibi glif bilgilerini alabilir. Bu özellikler, kullanıcıların uygulamalarınız içinde metni doğru bir şekilde konumlandırmasını ve render etmesini mümkün kılar. Aşağıdaki örnek, yazılım geliştiricilerinin C++ komutlarıyla glifleri kullanarak metni nasıl render edeceğini gösterir.

C++ Uygulamalarında Gliflerle Metni Nasıl Render Edebilirsiniz?

 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;
    }

C++ API'si ile Yazı Tipi Manipülasyonu ve Düzenleme

Aspose.Font for C++ yazılım geliştiricilerine Type1 ve diğer desteklenen yazı tipi formatlarını yerel dosyalar, akışlar veya URL'ler gibi farklı kaynaklardan yükleme imkanı sağlar. Yazılım geliştiricileri yazı tiplerini tek tek ya da toplu olarak yükleyebilir, böylece birden fazla yazı tipini aynı anda işlemek kolaylaşır. Yüklendikten sonra geliştiriciler yazı tiplerinin özelliklerini güncelleyebilir ve istenen formata geri kaydedebilir ya da diğer formatlara kolayca dışa aktarabilir. Aşağıdaki örnek, C++ uygulamaları içinde type1 yazı tiplerinden veri nasıl yükleneceğini ve çıkarılacağını gösterir.

C++ Uygulamalarında Type1 Yazı Tiplerinden Yazı Tipi Ölçümleri Bilgilerini Okuyun

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);

 Türkçe