Kök harfleri kullanarak metin renderleme
İstenilen yazı tipinde metni görüntülemek için C++ API çözümü.
Aspose.Font API Çözümü, yazı tipleriyle çalışma konusunda zengin yetenekler sunar; dönüşüm, kök harf manipülasyonu, Latin sembollerinin tespiti ve daha fazlası. Bazı özellikler, metin renderleme gibi kök harf manipülasyonuyla ilgilidir.
Bir glyph, bir fontta bir karakterin benzersiz tasarımı ya da bir sembolün grafiksel temsilidir. Bu font birimini daha derinlemesine anlamak için Glyph’e Giriş makalesini okuyun.
Bu sayfa, glyph’ler kullanarak metnin nasıl gösterileceğini açıklar, ancak işlevselliğin kapsamlı açıklaması Glyph nesnelerini kullanma makalesinde sunulmuştur. Orada, daha fazla C++ kod örneği bulabilir ve Aspose.Font’un glyph’ler ve özellikle Glyph nesneleriyle çalışma yeteneklerini öğrenebilirsiniz. Ayrıca Aspose Github Projesi üzerinde tam örnekler ve veri dosyalarına ulaşabilirsiniz.
Glyph'ler ile metin yazmak için şunlara ihtiyacımız var:
Aspose.Font for C++ API, zengin özellikli, güçlü ve kullanımı kolay bir belge işleme ve dönüşüm API'sidir.
NuGet paket yöneticisini açın, Aspose.Font'u arayın ve yükleyin. Ayrıca Paket Yöneticisi Konsolu'ndan aşağıdaki komutu da kullanabilirsiniz.
Package Manager Console Command
PM> Install-Package Aspose.Font
C++ ile glyph'ler kullanarak metin renderleme
Kök harflerle metin renderlemek için genellikle aşağıdaki adımlar gereklidir:
- Yazı tipi dosyasını belleğe yükleyin. Burada, bir Type1Font nesnesi gibi bir yazı tipi nesnesi oluşturmanız ve yazı tipi dosya yolunu ona geçirmeniz gerekir.
- Metni karşılık gelen kök harf kimliklerine (glyph ID) çözümleyin. Bunun için metnin her bir karakterini yazı tipinin kodlama nesnesi aracılığıyla geçirip ilgili kök harf kimliğine dönüştürün.
- Her kök harfin taslağını (outline) alın. Taslak, karakterin şeklini tanımlayan bir yoldur. Bu, Font nesnesinin GetGlyphOutline() yöntemi kullanılarak yapılabilir.
- Bir grafik nesnesi, örneğin GraphicsPath nesnesi kullanarak her kök harfin taslaklarını çizin. Kök harf taslaklarını çizmeye yönelik IGlyphOutlinePainter arayüzünü uygulayan bir nesne oluşturmanız yeterlidir.
- Metni, her kök harfin taslaklarını çizen bir grafik nesnesi kullanarak görüntüleyin. Bu, grafik nesnesinin DrawPath() yöntemiyle yapılabilir.
Metni renderlemek için C++ Kodu
using Aspose::Font::Glyphs;
using Aspose::Font::Rendering;
using Aspose::Font::RenderingPath; class GlyphOutlinePainter: IGlyphOutlinePainter
RenderingText::GlyphOutlinePainter::GlyphOutlinePainter(System::SharedPtr<System::Drawing::Drawing2D::GraphicsPath> path)
{
_path = path;
}
void RenderingText::GlyphOutlinePainter::MoveTo(System::SharedPtr<Aspose::Font::RenderingPath::MoveTo> moveTo)
{
_path->CloseFigure();
_currentPoint.set_X((float)moveTo->get_X());
_currentPoint.set_Y((float)moveTo->get_Y());
}
void RenderingText::GlyphOutlinePainter::LineTo(System::SharedPtr<Aspose::Font::RenderingPath::LineTo> 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<Aspose::Font::RenderingPath::CurveTo> 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;
}SSS
1. Yazı tipi Aspose.Font aracılığıyla nasıl işleniyor?
Bu API çözümünü kullanarak yazı tiplerini oluşturmak için Aspose.Font.Rendering ve Aspose.Font.Renderers ad alanları varlıklarına ihtiyacınız olacak. İlk önce IGlyphOutlinePainter yöntemlerini uygulayın. Ardından DrawText() Yöntemini oluşturun. Yazı tipi genişliğini hesaplamak ve metin oluşturma işlevini çağırmak için yardımcı program yöntemini oluşturun.
2. Gliflerle metin oluştururken hangi faktörlere dikkat etmelisiniz?
Metni gliflerle işlerken, yazı tipi seçimi, ipucu, karakter aralığı ve izleme, glif ölçümleri, renk ve kontrast vb. gibi doğru ve görsel olarak çekici sonuçlar elde etmek için dikkate alınması gereken birkaç önemli faktör vardır.
3. Yazı tipi ipucu nedir?
İpucu vermek, özellikle daha küçük boyutlarda veya düşük çözünürlüklü ekranlarda metnin netliğini ve okunabilirliğini korumaya yardımcı olabilir.