{"id":13439883,"url":"https://github.com/rougier/freetype-gl","last_synced_at":"2025-05-14T06:14:29.785Z","repository":{"id":38106577,"uuid":"13210710","full_name":"rougier/freetype-gl","owner":"rougier","description":"OpenGL text using one vertex buffer, one texture and FreeType","archived":false,"fork":false,"pushed_at":"2025-01-20T13:49:33.000Z","size":14574,"stargazers_count":1695,"open_issues_count":74,"forks_count":272,"subscribers_count":92,"default_branch":"master","last_synced_at":"2025-05-07T22:37:28.146Z","etag":null,"topics":["c","font","freetype","opengl"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rougier.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-09-30T09:01:42.000Z","updated_at":"2025-04-29T02:42:35.000Z","dependencies_parsed_at":"2023-01-31T08:45:57.806Z","dependency_job_id":"eea0c33e-8462-463a-97bc-33e7fb67dbfd","html_url":"https://github.com/rougier/freetype-gl","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rougier%2Ffreetype-gl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rougier%2Ffreetype-gl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rougier%2Ffreetype-gl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rougier%2Ffreetype-gl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rougier","download_url":"https://codeload.github.com/rougier/freetype-gl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254083920,"owners_count":22011905,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","font","freetype","opengl"],"created_at":"2024-07-31T03:01:17.901Z","updated_at":"2025-05-14T06:14:29.735Z","avatar_url":"https://github.com/rougier.png","language":"C","funding_links":[],"categories":["C","Graphics"],"sub_categories":[],"readme":"# Freetype GL - A C OpenGL Freetype engine\n\n[![Build Status Travis](https://travis-ci.org/rougier/freetype-gl.png?branch=master)](https://travis-ci.org/rougier/freetype-gl)\n[![Build Status Appveyor](https://ci.appveyor.com/api/projects/status/github/rougier/freetype-gl?branch=master)](https://ci.appveyor.com/project/rougier/freetype-gl)\n\nA small library for displaying Unicode in OpenGL using a single texture and\na single vertex buffer.\n\n![Screenshot](http://raw.github.com/rougier/freetype-gl/master/doc/images/markup.png)\n\n\n[Installation instructions](INSTALL.md)\n\n## Code organization\n\n### Mandatory files\n\n* **texture-font**:  The texture-font structure is in charge of creating bitmap\n                     glyphs and to upload them to the texture atlas.\n\n* **texture-atlas**: This structure is responsible for the packing of small\n                     regions into a bigger texture. It is based on the skyline\n                     bottom left algorithm which appear to be [well suited for\n                     storing glyphs](https://raw.githubusercontent.com/rougier/freetype-gl/master/doc/RectangleBinPack.pdf).\n\n* **vector**:        This structure loosely mimics the std::vector class from\n                     c++. It is used by texture-atlas (for storing nodes),\n                     texture-font (for storing glyphs) and font-manager (for\n                     storing fonts). More information at:\n                     http://www.cppreference.com/wiki/container/vector/start\n\n\n### Optional files\n\n* **markup**:        Simple structure that describes text properties (font\n                     family, font size, colors, underline, etc.)\n\n* **font-manager**:  Structure in charge of caching fonts.\n\n* **vertex-buffer**: Generic vertex buffer structure inspired by pyglet\n                     (python). (more information at http://www.pyglet.org)\n\n* **edtaa3func**:    Distance field computation by Stefan Gustavson\n                     (more information at http://contourtextures.wikidot.com/)\n\n* **makefont**:      Allow to generate header file with font information\n                     (texture + glyphs) such that it can be used without\n                     freetype.\n\n\n## Contributors\n\n* Ryan.H.Kawicki (Initial CMake project)\n* Julian Mayer (Several bugfixes and code for demo-opengl-4.cc)\n* Sylvain Duclos (Android port)\n* Wang Yongcong (Improvements on the windows build and code review)\n* Jonas Wielicki (Bug report \u0026 fix on the CMakefile)\n* whatmannerofburgeristhis (Bug report in makefont)\n* Andrei Petrovici (Fine analysis of the whole code and report of potential problems)\n* Cristi Caloghera (Report on bad vertex buffer usage)\n* Andrei Petrovici (Code review)\n* Kim Jacobsen (Bug report \u0026 fix)\n* bsoddd (Bug report \u0026 fix)\n* Greg Douglas (Bug report \u0026 fix)\n* Jim Teeuwen (Bug report \u0026 fix)\n* quarnster (Bug report \u0026 fix)\n* Per Inge Mathisen (Bug report \u0026 fix)\n* Wojciech Mamrak (Code review, bug report \u0026 fix)\n* Wael Eloraiby (Put code to the C89 norm and fix CMakefile)\n* Christian Forfang (Code review, fix \u0026 patch for 3.2 core profile)\n* Lukas Murmann (Code review \u0026 fix for 3.2 core profile)\n* Jérémie Roy (Code review, fix and new ideas)\n* dsewtz (Bug report \u0026 fix)\n* jcgamestoy (Bug report \u0026 fix)\n* Behdad Esfahbod (Bug fix on harfbuzz demo)\n* Marcel Metz (Bug report \u0026 fix, CMmake no demo option, makefont parameters)\n* PJ O'Halloran (svn to git migration)\n* William Light (Face creation from memory)\n* Jan Niklas Hasse (Bug report \u0026 fix + README.md)\n* Pierre-Emmanuel Lallemant (Bug report \u0026 fix + travis setup)\n* Robert Conde (Bug report \u0026 fix)\n* Mikołaj Siedlarek (Build system bug fix)\n* Preet Desai (Bug report \u0026 fix)\n* Andy Staton (CMake fix and added namespace safeguard (avoiding glm collisions))\n* Daniel Burke (Removed GLEW dependency and fix problems with font licences)\n* Bob Kocisko (Added horizontal text alignment and text bounds calculation)\n* Ciro Santilli (Improve markdown documentation)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frougier%2Ffreetype-gl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frougier%2Ffreetype-gl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frougier%2Ffreetype-gl/lists"}