Patrick Walton
fad7f2f343
Fix FreeType build
2018-03-05 15:04:52 -08:00
Patrick Walton
5d3c1f6d59
Abstract away `FontKey` so WebRender can more easily use this; switch
...
from angle measurement to scale-dependent hull height
2018-03-05 11:27:18 -08:00
Patrick Walton
5bd68dec65
Port Pathfinder to use Lyon for Bézier curve math.
...
This removes a whole lot of code from `pathfinder_path_utils`. Hopefully
the remaining code can go upstream.
These changes regress quality of stroke widths for cubic curves, because
they move fill-to-stroke conversion before cubic-to-quadratic
conversion. To fix that, we will need to recursively subdivide when
doing fill-to-stroke conversion.
2018-01-29 12:47:47 -08:00
Patrick Walton
952186c638
Document `pathfinder_font_renderer`.
2018-01-05 16:59:49 -08:00
Patrick Walton
c68f16f6ba
Write more API documentation
2018-01-05 15:52:15 -08:00
Patrick Walton
86df78f939
Flesh out the integration test more
2017-11-17 17:06:59 -08:00
Patrick Walton
ca0387d355
Get reference and rendered glyphs displaying side-by-side in the integration test
2017-11-13 20:42:07 -08:00
Patrick Walton
9dda148b38
Fix some bugs in Core Graphics native rendering
2017-11-13 17:22:35 -08:00
Patrick Walton
dc6bdda7ff
Implement basic native FreeType glyph rendering, untested as of yet
2017-10-31 11:26:14 -07:00
Boris-Chengbiao Zhou
90144e6755
Make tests compile again (but not pass)
2017-10-28 04:16:54 +02:00
Patrick Walton
775ee2b526
Add basic native rasterization for Core Graphics and match the WebRender
...
`FontContext` API more
2017-10-26 17:55:17 -07:00
Patrick Walton
77f135a4ba
Fix memory safety problem resulting in missing glyphs on macOS
2017-10-25 17:02:57 -07:00
Patrick Walton
0b179f3a40
Add preliminary DirectWrite support on Windows.
...
This will eventually need to call into GDI to do hinting, but it's good
enough for now.
2017-10-25 13:01:36 -07:00
Patrick Walton
1c693d5029
Approximate cubic curves with quadratics in the Core Graphics backend
2017-10-23 20:28:45 -07:00
Boris-Chengbiao Zhou
ebfe5d0dbd
Fix compilation on non-macos
2017-10-21 15:07:51 +02:00
Patrick Walton
9c470e77c1
Make macOS font rendering not depend on FreeType
2017-10-20 12:10:57 -07:00
Patrick Walton
b6a60ef987
Make FreeType no longer a dependency of `path-utils`
2017-10-04 19:03:38 -07:00
Patrick Walton
8de1970682
Implement stroking ourselves, and rename `PathSegment` to `PathCommand`.
...
This makes Pathfinder no longer use the FreeType stroker.
2017-10-04 18:57:30 -07:00
Patrick Walton
c36896e337
Implement path stroking using the FreeType stroker.
...
I'm not too happy with this, as I discovered a segfault in FreeType that doesn't give me confidence
in this as a solution for the long term. Additionally, this exposes the problems in the partitioner
with lack of winding fill rule, proper handling of self-intersections, and splitting of paths at
their extrema. (I believe these problems should be fairly straightforward to handle, but we just
don't handle them yet.)
2017-09-08 16:50:27 -07:00
Patrick Walton
3e5b53f13c
Partially refactor the path APIs to be streaming, like Lyon
2017-09-08 13:09:00 -07:00
Patrick Walton
f968a4ac20
Don't do server-side hinting
2017-09-03 13:03:45 -07:00
Patrick Walton
f87ff0a9e0
Add Open Sans as a built-in font and fix handling of multiple consecutive off-curve points
2017-08-29 19:22:27 -07:00
Patrick Walton
c0914a0c87
Fix a bunch of text layout issues
2017-08-25 12:20:36 -07:00
Patrick Walton
14b7b88b3f
Take the last control point before closing a subpath into account
2017-08-24 13:02:35 -07:00
Patrick Walton
93277c7c11
Allow multiple glyphs to be rendered simultaneously
2017-08-19 16:34:02 -07:00
Patrick Walton
92c5014ec6
font-renderer: Pull hinted outlines out of FreeType
2017-08-09 17:23:22 -07:00
Patrick Walton
2ddf95bd70
Initial work on the font renderer component
2017-08-09 15:36:41 -07:00