Commit Graph

1814 Commits

Author SHA1 Message Date
Kovid Goyal
dd0080d3ce Fix #168 2017-11-12 16:14:59 +05:30
Kovid Goyal
6b9303ba7d Dont store standard cursors on the window object 2017-11-12 12:42:09 +05:30
Kovid Goyal
eb32423fb6 oops 2017-11-12 12:33:44 +05:30
Kovid Goyal
9bb2a05a9b Update list of major features 2017-11-12 11:49:42 +05:30
Kovid Goyal
653fc0dd7e Fix #50 2017-11-12 11:42:50 +05:30
Kovid Goyal
cee6ef9941 Center multi-cell glyph runs 2017-11-12 11:04:52 +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
604e82fd65 oops 2017-11-11 21:15:19 +05:30
Kovid Goyal
5f4e003bed Add a ligature shaping test 2017-11-11 20:55:53 +05:30
Kovid Goyal
53e9f35c1f Add test for harfbuzz shaping 2017-11-11 18:47:34 +05:30
Kovid Goyal
c56a2ed055 Ensure that harfbuzz always uses the OpenType shaper 2017-11-11 18:25:25 +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
98e93cb4bd Workaround for broken CTFontCreateForString 2017-11-11 10:16:43 +05:30
Kovid Goyal
f5040532c5 Ensure combining chars are zero-width regardless of wcwidth implementation 2017-11-11 09:29:28 +05:30
Kovid Goyal
447a2fe8cf ... 2017-11-11 09:20:34 +05:30
Kovid Goyal
a14defbab7 Change the showcase fonts 2017-11-11 09:13:04 +05:30
Kovid Goyal
3592f82e4f Implement fallback fonts in CoreText 2017-11-11 08:08:03 +05:30
Kovid Goyal
4edfa9f4fd Implement loading of bitmap fonts via FreeType
Needed for some fallback fonts such as Apple Color Emoji
2017-11-11 08:07:18 +05:30
Kovid Goyal
51fe1e4dab ... 2017-11-11 07:12:50 +05:30
Kovid Goyal
2df9f3500c Build with --debug in update-on-ox 2017-11-11 07:12:21 +05:30
Kovid Goyal
289cfe7584 Fix bold-italic variant not being auto-selected on macOS 2017-11-10 22:06:11 +05:30
Kovid Goyal
b603d7abb7 Ensure underline_thickness is not zero 2017-11-10 21:46:50 +05:30
Kovid Goyal
3437433ed4 ... 2017-11-10 17:43:47 +05:30
Kovid Goyal
cccacfdf7c Restore Apple's line height fudge factor on macOS 2017-11-10 17:38:36 +05:30
Kovid Goyal
c6fa0503af Simplify font_units_to_pixels
Make use of the precalculated scaling value in the FT Face metrics
object
2017-11-10 17:23:28 +05:30
Kovid Goyal
579933ac27 ... 2017-11-10 15:55:59 +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
d2654db6f0 oops 2017-11-10 14:57:44 +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
5c582f7639 Start work on harfbuzz rendering on macs 2017-11-10 12:52:54 +05:30
Kovid Goyal
ccc0433fa1 ... 2017-11-10 11:26:58 +05:30
Kovid Goyal
43bf056f09 Add a command to list fonts 2017-11-10 11:02:32 +05:30
Kovid Goyal
1d7b650fd0 ... 2017-11-10 10:30:34 +05:30
Kovid Goyal
fefe6c9024 Use fc-list instead of fc-match to select fonts
This is because there is no way to force fc-match to return a monospace
font. So if the user specifies a non-existent font we end up with some
non-monospaced font, which looks terrible.

Also, this makes the font selection logic or macOS and Linux similar.
2017-11-10 10:15:37 +05:30
Kovid Goyal
b58e900806 Call prerender() in rendering tests setup 2017-11-10 08:30:35 +05:30
Kovid Goyal
ec58777d01 Fix compilation against old versions of fontconfig 2017-11-10 08:28:44 +05:30
Kovid Goyal
7a0b649cbd Fix resizing of fonts 2017-11-10 07:34:52 +05:30
Kovid Goyal
e15bc71930 Code to list fontconfig fonts 2017-11-09 20:53:10 +05:30
Kovid Goyal
6d02e884d8 oops 2017-11-09 17:30:30 +05:30
Kovid Goyal
6d7546aa8c pre-rendering must happen after layout 2017-11-09 17:11:37 +05:30
Kovid Goyal
ace91f04af More appropriate location for function definition 2017-11-09 17:04:31 +05:30
Kovid Goyal
934d21ac30 Wire up a few remaining pieces 2017-11-09 16:55:46 +05:30
Kovid Goyal
79d8c04b00 Hook up render_line 2017-11-09 16:55:45 +05:30
Kovid Goyal
6c838bbc28 Implement dirty line tracking 2017-11-09 16:55:45 +05:30
Kovid Goyal
0277be5856 Track line dirty status in the line buffer 2017-11-09 16:55:45 +05:30
Kovid Goyal
71dcf13edf Fix compiler warning 2017-11-09 16:55:45 +05:30
Kovid Goyal
bc0a77ee31 Only detect support once when testing rendering 2017-11-09 16:55:45 +05:30
Kovid Goyal
758d315b8e Better fix for test 2017-11-09 16:55:45 +05:30