Skip to content

Notes on getting the old letters onto a digital screen

Notifications You must be signed in to change notification settings

Ed94/TextRendering_Notes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Text Rendering Notes

The original goal here was to find some solution that was small and preferrably interopped well with odin-lang. So, everything that was either not written in C or was not going to be an easy port, was ignored.

Now I just keep this in sync with anything I find while working on my forks of VEFontCache.

Sokol solution (possibly, if your just after a standalone text renderer and willing to just sokol/opengl)

Its directly available in the vendor library and hookup impl exists alrady: sokol/util/sokol_fontstash.h

Original Repo: memononen/fontstash

There are several forks for fonstash... Going to elabroate on them in a separate file


Direct alternative to fonstash: RFont

ColleagueRiley/RFont

Claims to target better perforamnce than fontstash. Decided to directly intergrate stb_truetype.h instead of keeping it separate (There is an option to define RFONT_EXTERNAL_STB).

Other partial solutions

jtsiomb/libdrawtext

kevinmkchin/vertext
(looks to provide everything necessary ~1000 lines of code only)

hypernewbie/VEFontCache
(Also looks very good..., but it uses c++, easy to port however since its 1691 lines...)

Industry standard (free if you negotiate use on a free purpose, porting interface to X-Lang is problably non-trivial)

slug

Learning Resources

npx-imx/gtec-demo-frameowrk/Doc/FslSimpleUI

Implementing a Font Reader and Rasterizer from Scratch, Part 1: TTF Font Reader

LearnOpenGL - Text Rendering
Improving Learn OpenGL's Text Rendering Example | Adventures in Coding
Repo for above vod: johnWRS/LearnOpenGLTextRenderingImprovement

GPU Gems 3: Chapter 25. Rendering Vector Art on the GPU

Writing a TrueType font renderer

Wikibooks/OpenGL_Programming/... Text Rendering 01
02 of above

Simple good quality subpixel text rendering in OpenGL with stb_truetype and dual source blending

Examples

Immediate-Mode-UI/Nuklear/nuklear_font.c
raddebugger (non-trivial to digest solution)
refterm
ocornut/imgui/imgui_draw.cpp#L4006
4coder-archive/4coder
gl-4.5-subpixel-text-rendering

Font Parsers

freetype
englerj/odin-freetype
stb/stb_truetype
odin-lang/Odin/vendor/stb/truetype/stb_truetype.odin

Text Shapers

harfbuzz
hamza
Fribidi

GPU Related

Efficient 2D Signed Distance Field Generation on GPU

GreenLighting/gpu-font-rendering
evanw/theta
Related article for theta's implementation
MSDFGL - OpenGL-accelerated implementation of the multi-channel signed distance-field algorithm.

Vector Path Accelerators

NV Path Rendering OpenVG

ajstarks/openvg

ShivaVG: open-source ANSI C OpenVG
ileben/ShivaVG

amanithvg

Papers

SIGGRAPH2007: Improved Alpha-Tested Magnification for Vector Textures and Special Effects
Resolution Independent Curve Rendering using Programmable Graphics Hardware
Higher Quality 2D Text Rendering

Misc

Forking Paths

A Vector Graphics Renderer — part 1
A Vector Graphics Renderer — part 2
A Vector Graphics Renderer — part 3
Revisiting Vector Graphics on the GPU
Orca Vector Graphics Backend

Mr. 4th Programming

Graphics 2[7] Baking Optimized Fonts Data
Graphics [8]: Low Level Rendering API Part 1
Graphics [9]: Low Level Rendering API Part 2
Graphics [10]: High Level Rendering API ...

Tscoding

ded editor
Legendary Font Rendering
Rendering Text Editor on GPU

OpenGL Text Rendering for My Immediate UI Library - Offline Stream #02

Interesting...

MacType

About

Notes on getting the old letters onto a digital screen

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published