Skip to content

Standalone library for TrueType font tessellation. Allows to load ttf-file and convert its glyphs to 2D or 3D mesh objects without rasterization.

License

Notifications You must be signed in to change notification settings

fetisov/ttf2mesh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

image

The ttf2mesh crossplatform library allows to convert a glyphs of truetype font (ttf) to a mesh objects in 2d and 3d space. The library does not require any graphical context and does not use system dependent functions.

The library consists of two files written in the C language of the c99 standard: ttf2mesh.c and ttf2mesh.h. The ttf2mesh.c code implements a parsing of ttf-files and a tessellation algorithm that provides the formats conversion. The tessellation algorithm uses the Delaunay test to form an optimal set of triangles. Tessellation (triangulation) process is described in "this post" and is shown in the animation below.

image

The library has a simple doxygen-documented API for loading TTF files and converting glyphs into mesh objects. Examples of using the library are presented in examples/src directory. There are three main examples:

FILE Description
examples/src/simple.c The simplest code that shows how a user can load a font from the system directory and convert its glyph to a 2d mesh object. The converted glyph is rendering to an opengl window as a filled mesh, wireframe or the glyph contours.
image
examples/src/glyph3d.c Same as simple.c example, except that the font glyphs are converted to a 3D mesh object, which is displayed in the opengl window with animation.
image
examples/src/ttf2obj.c Console application for converting TTF font input file to a Wavefront object file (.obj). Each object in the output file includes the plane geometry of the corresponding glyph and its parameters: Unicode ID, advance and bearing.
image

To compile examples on Linux system you can use the GNU make utility: make -C examples/build-linux-make all. In the Windows operating system, you can use for compilation the Microsoft Visual Studio C++ project files that are located in the examples/build-win-msvc directory. Additionally, the examples\build-any-qmake directory contains pro files for building examples using the qtcreator IDE.

You can read information on how the library works at this link.

PayPal me or: MasterCard 5469 3800 5517 1176 wmz Z518568605100 wmr R885157851601

About

Standalone library for TrueType font tessellation. Allows to load ttf-file and convert its glyphs to 2D or 3D mesh objects without rasterization.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages