1806 Commits

Author SHA1 Message Date
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
Kovid Goyal
3ec64a17f8
Dont call the font change machinery when the actual size has not changed 2017-11-09 16:55:45 +05:30
Kovid Goyal
dc7d705c87
Runa simplified version of the font rendering test on macOS 2017-11-09 16:55:45 +05:30
Kovid Goyal
6c98b676bb
Fix crash on macOS when changing font size 2017-11-09 16:55:45 +05:30
Kovid Goyal
dd6108de5b
DRYer 2017-11-09 16:55:44 +05:30
Kovid Goyal
aa1b94aed0
Ensure descriptor is always set for coretext font objects 2017-11-09 16:55:44 +05:30
Kovid Goyal
75e1b30fc1
DRYer 2017-11-09 16:55:44 +05:30
Kovid Goyal
a8bca1c119
Skip the rendering test on macOS
macOS is underpowered junk.
2017-11-09 16:55:44 +05:30
Kovid Goyal
d05ea312ef
Fix crash on macOS when failing to get font_descriptor 2017-11-09 16:55:44 +05:30