A fast, lightweight and minimalistic Wayland terminal emulator
Find a file
Daniel Eklöf 73b4d5d05a
font: add support for fallback fonts
A top-level font now has a list of fallback fonts. When a glyph cannot
be found, we try each fallback font in turn, until we either find one
that has the glyph, or until we've exhausted the list.

To make this actually work in practise (read: to make performance
acceptable), the cache is re-worked and is now populated on demand.

It also supports non-ASCII characters, by using the 4-byte unicode
character as index instead.

Since having an array that can be indexed by a 4-byte value isn't
really viable, we now have a simple hash table instead of an array.
2019-07-30 18:04:28 +02:00
.gitignore initial commit: maps an XDG toplevel window 2019-06-12 20:08:54 +02:00
base64.c base64: implement encode() 2019-07-19 14:19:42 +02:00
base64.h base64: implement encode() 2019-07-19 14:19:42 +02:00
commands.c render: add render_refresh() 2019-07-24 20:11:41 +02:00
commands.h scrollback: initial support for mouse scrolling 2019-07-10 09:15:37 +02:00
config.c font: add support for fallback fonts 2019-07-30 18:04:28 +02:00
config.h font: add support for fallback fonts 2019-07-30 18:04:28 +02:00
csi.c render: add a 'clean' bit to each cell; only render cells that aren't clean 2019-07-30 18:03:03 +02:00
csi.h performance improvements 2019-07-07 16:32:18 +02:00
font.c font: add support for fallback fonts 2019-07-30 18:04:28 +02:00
font.h font: add support for fallback fonts 2019-07-30 18:04:28 +02:00
foot.desktop Add .desktop file 2019-07-15 15:29:17 +02:00
foot.info csi: implement \E[Z - back tab 2019-07-22 20:33:50 +02:00
footrc footrc: add cursor color 2019-07-24 20:23:26 +02:00
grid.c render: add a 'clean' bit to each cell; only render cells that aren't clean 2019-07-30 18:03:03 +02:00
grid.h grid: prefetch cells in grid_row() 2019-07-10 19:52:30 +02:00
input.c input: generate escape sequences for "other" keys 2019-07-26 18:49:09 +02:00
input.h input: mouse events 2019-07-05 10:44:57 +02:00
keymap.h keymap: fix sequences for PageDown 2019-07-22 18:45:14 +02:00
LICENSE add license 2019-06-12 20:10:12 +02:00
log.c log: don't syslog 2019-06-29 20:48:02 +02:00
log.h initial commit: maps an XDG toplevel window 2019-06-12 20:08:54 +02:00
main.c font: add support for fallback fonts 2019-07-30 18:04:28 +02:00
meson.build font: set FT load and render flags from FontConfig properties 2019-07-29 20:10:55 +02:00
osc.c osc: ignore OSC 30 (konsole's "set tab title") 2019-07-23 17:55:25 +02:00
osc.h ocs: renamed parameter size -> required_size in osc_ensure_size() 2019-07-19 09:56:00 +02:00
PKGBUILD font: load FreeType face, and set it's pixel sizes 2019-07-28 12:09:22 +02:00
render.c font: add support for fallback fonts 2019-07-30 18:04:28 +02:00
render.h wip: initial multithreaded renderer 2019-07-29 20:13:26 +02:00
selection.c render: add render_refresh() 2019-07-24 20:11:41 +02:00
selection.h selection: add text_from_clipboard() 2019-07-19 14:20:00 +02:00
shm.c wip: initial multithreaded renderer 2019-07-29 20:13:26 +02:00
shm.h wip: initial multithreaded renderer 2019-07-29 20:13:26 +02:00
slave.c main: allow user to override shell on the command line 2019-07-17 09:55:36 +02:00
slave.h main: allow user to override shell on the command line 2019-07-17 09:55:36 +02:00
terminal.c render: add a 'clean' bit to each cell; only render cells that aren't clean 2019-07-30 18:03:03 +02:00
terminal.h font: add support for fallback fonts 2019-07-30 18:04:28 +02:00
tllist.h initial commit: maps an XDG toplevel window 2019-06-12 20:08:54 +02:00
tokenize.c slave: break out command line tokenizer 2019-07-17 09:46:45 +02:00
tokenize.h slave: break out command line tokenizer 2019-07-17 09:46:45 +02:00
vt.c render: add a 'clean' bit to each cell; only render cells that aren't clean 2019-07-30 18:03:03 +02:00
vt.h vt: add vt_to_slave() 2019-07-15 15:42:00 +02:00