-
Notifications
You must be signed in to change notification settings - Fork 44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Link against system FreeType #556
Conversation
0029cfd
to
10e766d
Compare
setup.py
Outdated
if sys.platform == 'win32': | ||
# XXX: Note that Windows has used FreeType for many years. This would | ||
# be a change in behavior. | ||
define_macros += [('KIVA_USE_WIN32', None)] | ||
agg_include_dirs += [os.path.join(agg_dir, 'font_win32_tt')] | ||
kiva_agg_sources += [ | ||
os.path.join(agg_dir, 'font_win32_tt', 'agg_font_win32_tt.cpp'), | ||
] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's important to check that this doesn't change things too much on Windows. If it does, we'll have to figure out how to link against an external FreeType on Windows.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Using the Win32 font rendering appears to break text rotation, according to @rahulporuri's testing
c697235
to
49df452
Compare
Looks like this is no deal on Windows. Apart from CI, I just tried testing this locally and I saw the same issue. |
The problem was that |
49df452
to
18aa5d7
Compare
457419c
to
d5e058f
Compare
OK. That took a few more tries than expected, but I've now shaken out the code rot in the |
Using the Win32 font renderer in Agg has bug related to affine transformations, so it's best to stick with the FreeType renderer. Unfortunately, that means a lot more complexity when compiling on Windows if we don't want to include a vendored copy of FreeType. I'm going to close this for now and we can revisit when we're not trying to get a release out the door. |
Closes #553
This is just the change to the build script. Another PR will remove the vendored code since that's a very big change.