Commit Graph
1689 Commits
Author SHA1 Message Date
Kovid Goyal b9b2570369 Reduce brew install harfbuzz time on travis 2017-11-14 12:01:06 +05:30
Kovid Goyal c4f61de3fe Add a couple more targets to the makefile 2017-11-14 09:48:59 +05:30
Kovid Goyal 523c9ff0d1 Make incremental building the default 2017-11-14 09:47:08 +05:30
Kovid Goyal a02fd8411a Generate a compilation database, useful for llvm tooling 2017-11-14 09:31:23 +05:30
Kovid Goyal 98d8d6b915 Update CHANGELOG 2017-11-13 19:48:06 +05:30
Kovid Goyal 2b87e1f601 Fix #170 2017-11-13 19:47:54 +05:30
Kovid Goyal 084fb23930 Forgot to clear hash table roots after deleting
Doesn't matter in normal usage, but causes tests to fail.
2017-11-13 16:12:28 +05:30
Kovid Goyal 244840255b Remove unused function 2017-11-13 16:03:44 +05:30
Kovid Goyal 94c11af7c8 Refactor the font management code
Use a hash table for special glyph status caching
Manage (almost) all global state with a single object
Allocate all fonts on the heap
Fix the use-after-free for fallback fonts
2017-11-13 15:53:34 +05:30
Kovid Goyal 26e6716f67 A test that reliably triggers the current failure 2017-11-13 15:30:30 +05:30
Kovid Goyal aef8b4ae67 Allow re-use of ensure_space_for macro 2017-11-13 15:29:52 +05:30
Kovid Goyal a97ba08cbb Fix asan test failure 2017-11-13 09:31:48 +05:30
Kovid Goyal ddc327b772 Prevent DoS attacks via requesting too many fallback fonts 2017-11-13 08:40:47 +05:30
Kovid Goyal a70f6405ac Allocate fallback fonts on the heap
The size of a font is quite large ~ 100KB so it does not make sense to
store their data statically.
2017-11-13 08:39:30 +05:30
Kovid Goyal bf0ad30d17 DRYer 2017-11-13 07:30:35 +05:30
Kovid Goyal 6fbe52acf4 ... 2017-11-13 07:13:42 +05:30
Kovid Goyal 9fccc38382 Better fix for not using the unsafe to break flag
Recognize special glyphs by comparing the index to the glyph for the
codepoint in the font. Cannot rely on glyph width as many glyphs have
zero width. For example the glyph for space characters.
2017-11-13 07:03:58 +05:30
Kovid Goyal 339c0d2980 Put back consumed API 2017-11-12 23:43:22 +05:30
Kovid Goyal 336857a106 A more general cp->gid API 2017-11-12 23:43:21 +05:30
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