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

Improve experimental rendering with Pango #27

Closed
wants to merge 8 commits into
base: master
from

Conversation

Projects
None yet
5 participants
@ermshiperete
Contributor

ermshiperete commented Oct 6, 2014

These changes fix several bugs in the experimental pango rendering code and add some missing functionality. The change from Jonathan Anderson got discussed and basically approved in the mailing list in 2009 (http://software.1713.n2.nabble.com/libgdiplus-pango-patch-td2268439.html) but never got submitted because Jonathan moved on to other tasks.

@monoadmin

This comment has been minimized.

Show comment
Hide comment
@monoadmin

monoadmin Oct 6, 2014

Hello! I'm the build bot for the Mono project. I need approval from a Mono team member to build this pull request. A team member should reply with "approve" to approve a build of this pull request, "whitelist" to whitelist this and all future pull requests from this contributor, or "build" to explicitly request a build, even if one has already been done. Contributors can ignore this message.

monoadmin commented Oct 6, 2014

Hello! I'm the build bot for the Mono project. I need approval from a Mono team member to build this pull request. A team member should reply with "approve" to approve a build of this pull request, "whitelist" to whitelist this and all future pull requests from this contributor, or "build" to explicitly request a build, even if one has already been done. Contributors can ignore this message.

@monoadmin

This comment has been minimized.

Show comment
Hide comment
@monoadmin

monoadmin Oct 6, 2014

Hello! I'm the build bot for the Mono project. I need approval from a Mono team member to build this pull request. A team member should reply with "approve" to approve a build of this pull request, "whitelist" to whitelist this and all future pull requests from this contributor, or "build" to explicitly request a build, even if one has already been done. Contributors can ignore this message.

monoadmin commented Oct 6, 2014

Hello! I'm the build bot for the Mono project. I need approval from a Mono team member to build this pull request. A team member should reply with "approve" to approve a build of this pull request, "whitelist" to whitelist this and all future pull requests from this contributor, or "build" to explicitly request a build, even if one has already been done. Contributors can ignore this message.

@monoadmin

This comment has been minimized.

Show comment
Hide comment
@monoadmin

monoadmin Oct 6, 2014

Hello! I'm the build bot for the Mono project. I need approval from a Mono team member to build this pull request. A team member should reply with "approve" to approve a build of this pull request, "whitelist" to whitelist this and all future pull requests from this contributor, or "build" to explicitly request a build, even if one has already been done. Contributors can ignore this message.

monoadmin commented Oct 6, 2014

Hello! I'm the build bot for the Mono project. I need approval from a Mono team member to build this pull request. A team member should reply with "approve" to approve a build of this pull request, "whitelist" to whitelist this and all future pull requests from this contributor, or "build" to explicitly request a build, even if one has already been done. Contributors can ignore this message.

@directhex

This comment has been minimized.

Show comment
Hide comment
@directhex

directhex Aug 24, 2015

Contributor

build

Contributor

directhex commented Aug 24, 2015

build

@directhex

This comment has been minimized.

Show comment
Hide comment

mhosken and others added some commits Oct 23, 2008

Fix width measurements and accelerator handling
Change-Id: Ide0a5aee6c524830372c8967cfd35696679e8930
Fix UTF8 handling in pango-text.c
Change-Id: Ie408110d9a0e43b02554a2102e297b9468929901
Improvements to pango code
* improve accelerator handling
* improve end-of-line whitespace trimming (still needs some work,
  but it should be about the same as the cairo renderer now)
* vertical text support
* clipping more consistent with MS GDI+
* better bidi text support
* string trimming closer to MS GDI+
* tab stops (untested)
* better bounding boxes returned (taking into account ink and logical
  space)
* support for codepointsFitted in MeasureString
* better linesFilled support in MeasureString
* NoWrap will still wrap on newline (MS GDI+ does this)

(Latest patch derived from email message at
http://software.1713.n2.nabble.com/libgdiplus-pango-patch-td2268439.html)

Change-Id: Ib2e5b70b66a4524f5b931a2de0a04c3674b629fc
Fix problem with pango measure string
If the height is 0 or MaxInt it means any height. This change fixes
the problem where we didn't deal with MaxInt properly, resulting
in a string width of 0 being returned.

Change-Id: I41880c9312e0b765bcc0f86e1cd8c151fba80100
Fix height calculation in pango setup layout code
If we get called with a frame height of 0 we should use whatever
height it takes. The MWF code calls us with both 0 and MaxInt to
get the required height.

Change-Id: I8129e32f88e7daad6126950a6a7b30c730ed0400
Fix invisible link label text
When using the experimental pango rendering a previous change
introduced a bug that caused the link label text to be invisible.
When measuring the text ranges of the link pieces the clip
rectangle isn't set properly so we better ignore it and stick to
the boundaries that are passed in.

Change-Id: If20296eccc38c2e05458068d18f6b2ec1013166b
Fix drawing of texts that include tabs
We used to tell Pango that we specify tab stops in pixels, but then
passed Pango unit values.

Change-Id: I1dc88281a14ddf6dc1e46f154f3f0e15cafdadb4
Fix pango_MeasureStringRanges to work properly (BL-667)
This fixes https://bugzilla.xamarin.com/show_bug.cgi?id=26027 and
BL-667 "[Linux] Setting dialog box tabs not widening for some
longer UI languages".

Change-Id: I019256e24afdd0ce97f4d8a72154f669e5148da9

@ermshiperete ermshiperete deleted the ermshiperete:ImprovePango branch Apr 15, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment