24 Commits

Author SHA1 Message Date
Kovid Goyal
96c93fa252
Add support for emoji presentation when choosing fallback fonts 2018-02-06 11:11:22 +05:30
Kovid Goyal
1ae7ae4a1d
Fix consecutive separate ligatures being rendered in the same group
Rendering multiple ligatures in the smae group is bad for performance
and also causes incorrect rendering if the last ligature in the group
does not fit into the number of cells in the group.
2018-01-14 11:18:44 +05:30
Kovid Goyal
0fcce6ec58
Remove trailing whitespace from native code files 2017-12-20 08:44:47 +05:30
Kovid Goyal
c86c166448
More work on positioning glyphs with CoreText 2017-12-11 18:48:14 +05:30
Kovid Goyal
5407fa72b4
Start work on rendering with CoreText 2017-12-10 20:28:06 +05:30
Kovid Goyal
e332522a61
Mark backend API in fonts.h header 2017-12-10 09:21:46 +05:30
Kovid Goyal
ed2e83654f
Draw emoji on macOS using CoreText rather than FreeType
Needed because FreeType cannot handle the latest version of the Apple
Color Emoji font, which probably uses SVG-in-OTF instead of SBIX.
Finishes up the color emoji implementation.
2017-12-09 12:01:43 +05:30
Kovid Goyal
8d7515bd9b
Basic color emoji rendering working
Still need to downscale color bitmaps to fit into cells
2017-12-09 12:01:43 +05:30
Kovid Goyal
9cda51b5a8
Store sprites in an RGBA texture
Needed to support color emoji
2017-12-09 12:01:42 +05:30
Kovid Goyal
336857a106
A more general cp->gid API 2017-11-12 23:43:21 +05:30
Kovid Goyal
67a37f1f41
Adjust the point size of fallback and symbol fonts so that their heights match the current cell height 2017-11-12 10:30:57 +05:30
Kovid Goyal
5f4e003bed
Add a ligature shaping test 2017-11-11 20:55:53 +05:30
Kovid Goyal
e5d411b80d
Refactor font code
DRYer with global state stored in fewer places. And only round-tripping
through python for font selection, not face creation.
2017-11-11 18:14:22 +05:30
Kovid Goyal
cccacfdf7c
Restore Apple's line height fudge factor on macOS 2017-11-10 17:38:36 +05:30
Kovid Goyal
541f389a06
Work on using FreeType to render on macOS as well 2017-11-10 15:39:53 +05:30
Kovid Goyal
c2b2833a37
API to load FreeType font from path and psname 2017-11-10 14:50:15 +05:30
Kovid Goyal
b0fffad0c2
API to create FreeType face from in memory data 2017-11-10 14:30:54 +05:30
Kovid Goyal
774956053a
Allow storing arbitrary data on FreeType Face objects 2017-11-10 14:20:20 +05:30
Kovid Goyal
934d21ac30
Wire up a few remaining pieces 2017-11-09 16:55:46 +05:30
Kovid Goyal
58be99a27e
Work on rendering ligatures correctly 2017-11-09 16:55:43 +05:30
Kovid Goyal
4726bcd210
Implement rendering of glyphs from font files in Freetype 2017-11-09 16:55:42 +05:30
Kovid Goyal
7d7d82a68d
Start working on actually rendering lines of text 2017-11-09 16:55:38 +05:30
Kovid Goyal
f25d2ea540
Rip out the old sprite update code 2017-11-09 16:45:45 +05:30
Kovid Goyal
3643a78b18
Start work on line based rendering 2017-11-09 16:45:44 +05:30