2420 Commits

Author SHA1 Message Date
Kovid Goyal
d01e5f72fc
Use a cache for dummy glyph lookups 2017-11-12 23:43:21 +05:30
Kovid Goyal
5c6be7f637
Insulate emoji test from system wcwidth 2017-11-12 23:43:21 +05:30
Kovid Goyal
088087df73
Use only cluster numbers and glyph sizes for grouping glyphs into cells
See https://github.com/behdad/harfbuzz/issues/615 for discussion
2017-11-12 23:43:21 +05:30
Kovid Goyal
0bd093ec2e
Also fix mouse URXVT_PROTOCOL
Fixes #169
2017-11-12 22:11:20 +05:30
Kovid Goyal
4613e161ce
Fix incorrect encoding for mouse events in the UTF8_PROTOCOL
Fixes #167
2017-11-12 22:05:01 +05:30
Kovid Goyal
dad9444db0
Dont crash if harfbuzz return null info or positions pointers 2017-11-12 17:18:49 +05:30
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