Szöveg megjelenítése karakterjelek használatával

C++ API megoldás. szöveg megjelenítéséhez a kívánt betűtípussal.

 

Az Aspose.Font API Solution gazdag lehetőségeket kínál a betűtípusokkal való munkavégzéshez, beleértve a konvertálást, a karakterjelek manipulálását, a latin szimbólumok észlelését stb. Egyes funkciók a karakterjelek manipulálásához kapcsolódnak, például a szöveg megjelenítéséhez.

A karakterjel egy karakter egyedi tervezése betűtípusban vagy egy szimbólum vagy karakter grafikus ábrázolása. Ennek a betűtípusnak a mélyebb megértéséhez olvassa el a Bevezetés a Glyphba cikket.

Ez az oldal elmagyarázza, hogyan jelenítheti meg a szöveget karakterjelek használatával, de a funkciók átfogó magyarázatát a Glyph objektumok használata . Itt további C++ kódpéldákat találhat, és megismerheti az Aspose.Font képességeit, amelyek kifejezetten karakterjelekkel és Glyph objektumokkal dolgozhatnak. Teljes példákat és adatfájlokat is megtudhat az Aspose Github Project webhelyén.

Szöveg karakterjelekkel történő beírásához szükségünk van:

  • Aspose.Font for C++ API, amely funkciókban gazdag, hatékony és könnyen használható dokumentumkezelési és -konverziós API.

  • Nyissa meg a NuGet csomagkezelőt, keresse meg az Aspose.Font elemet, és telepítse. A következő parancsot is használhatja a Package Manager konzolból.

Package Manager Console Command


    PM> Install-Package Aspose.Font

Szöveg renderelése karakterjelekkel C++ használatával

A szöveg karakterjelekkel történő megjelenítéséhez általában a következő lépésekre van szükség:

  1. Töltse be a font fájlt a memóriába. Itt létre kell hoznia egy font objektumot, például egy Type1Font objektumot, és át kell adnia a font fájl elérési útjában.
  2. Dekódolja a szöveget a megfelelő karakterjel-azonosítókra. Ehhez adja át a szöveg minden karakterét a betűtípus kódoló objektumán, és dekódolja a megfelelő karakterjel-azonosítóra.
  3. Szerezze meg az egyes karakterjelek körvonalát. A körvonal egy útvonal, amely meghatározza a karakter alakját. Ez a Font objektum GetGlyphOutline() metódusával érhető el.
  4. Rajzolja meg az egyes karakterjelek körvonalait egy grafikus objektum, például egy GraphicsPath objektum segítségével. Csak hozzon létre egy objektumot, amely megvalósítja az IGlyphOutlinePainter felületet, amely a karakterjelek körvonalainak megrajzolásáért felelős.
  5. Jelenítse meg a szöveget egy grafikus objektum segítségével az egyes karakterjelek körvonalainak megrajzolásához. Ezt a grafikus objektum DrawPath() metódusával lehet megtenni.

C++ kód a szöveg megjelenítéséhez

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



GYIK

1. Hogyan jelenik meg a betűtípus az Aspose.Font segítségével?

A betűtípusok megjelenítéséhez ezzel az API-megoldással az Aspose.Font.Rendering és a entitásokra lesz szüksége Aspose.Font.Renderers névterek. Először hajtsa végre az IGlyphOutlinePainter metódusokat, majd hozza létre a DrawText() metódust. Hozzon létre egy segédprogramot a betűszélesség kiszámításához, és hívja meg a renderelő szöveg funkciót.

2. Milyen tényezőkre kell figyelni, amikor karakterjelekkel jelenít meg szöveget?

Szöveg karakterjelekkel történő megjelenítésekor számos fontos tényezőt figyelembe kell venni a pontos és tetszetős eredmények érdekében, mint például a betűtípus kiválasztása, utalás, levágás és követés, karakterjel-metrikák, szín és kontraszt stb.

3. Mi az a betűtípus utalás?

A tippelés segíthet megőrizni a szöveg tisztaságát és olvashatóságát, különösen kisebb méreteknél vagy kis felbontású képernyőkön.