-
Notifications
You must be signed in to change notification settings - Fork 171
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
RFC: Support Pango text rendering by default #269
Conversation
cef9131
to
f23cb91
Compare
Should |
I don't think we should remove the Cairo support entirely yet. Accordingly it should be possible to specify --without-pango on machines with Pango installed to be able to test the Cairo code. Also, I have no idea how wide-spread is the use of --with-pango option in packing systems, so it's safer to keep it. As for the reasons to keep the Cairo code for now:
|
If we are requiring a dependency, then apt, yum, emerge, pkgsrc, fbsdports, aports etc. will add it under required section of their package manifest. If we keep it optional, then they may or may not. If this is the plan then I think then we need to have some API for System.Drawing to query if pango (an optional dependency) is available. Otherwise what we are being presented inaccurate information in System.Drawing docs. Much easier to make this dependency mandatory. cc @akoeplinger, @safern |
f23cb91
to
249e3b8
Compare
Ok, I looked at various places where libgdiplus is built and I am starting to lean towards making Pango a required dependency. Here's what I found:
The only problem I found is that we now require Pango version >= 1.38 for |
One reason to keep support for Debian Jessie would be that the default Docker container images for both Mono and .NET Core are based off Debian Jessie. If the |
Dropping support for Jessie/Ubuntu 14.04 is not an option as long as they are supported by .NET Core. Since Ubuntu 14.04 is LTS release we talking at least another year. I'm not familiar with the packaging systems and the respective policies of these distributions, so I didn't really consider it an option to get newer Pango on these systems. I'll look at the possibility of substituting |
That sounds reasonable - I'm not sure how often custom font collections are used, getting a |
I'd also consider it reasonable. However, two things should be considered:
|
…e Pango by default if it's installed on the system.
…ig API was added in 1.37 according to NEWS in the package, but headers declare it as 1.38+.
249e3b8
to
4318f43
Compare
/cc @migueldeicaza please review |
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.
This is fine
Currently there are two text rendering backends, a Cairo based one and Pango based one. Historically the Pango backend was incomplete and buggy, so it was hidden under
--with-pango
option. I think the code is now mature enough that we should remove all the warnings about it being unsupported. I'd even go one step further and make it the default as long as the Pango libraries are installed on the system.Rationale:
cc @kasper3