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

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Text Rendering Notes

Significant Repos

fontstash
Supported by sokol: sokol/util/sokol_fontstash.h
There are several forks for fonstash... Going to elabroate on them in a separate file

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).

jtsiomb/libdrawtext

kevinmkchin/vertext

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

fontdue
(Self-proclaimed "fastest rasterizer")

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 harfbuzz/ttf-parser (rust)

MSDN - True Type
MSDN - OpenType Specification

khaledhosny/ots - OpenType Sanitizer

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.

andrewlowndes/perfect-antialiasing: Antialiasing via conservative rasterisation and analytical area computation

GPU Gems 2: Chapter 42. Conservative Rasterization

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
Wavelet Rasterization

Misc

Metafont (Historical)

Wikipedia
metaflop/metaflop-www
Metapost

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

Conceptual Overview for Typography

Google Fonts: Typeface

Wikipeida - Outline

Wikipedia - Anatomy Anatomy img

Sociology of Fonts - Defining the Terms Part 1: Anatomy
Sociology of Fonts - Defining the Terms Part 2: Process
Sociology of Fonts - Defining the Terms Part 3: Categorization

Original Notes Header

The 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 fork of VEFontCache.

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