Apache OpenOffice (AOO) Bugzilla – Full Text Issue Listing
|Summary:||Aqua: avoid vertically-flipped graphics contexts|
|Component:||code||Assignee:||AOO issues mailing list <issues>|
|Status:||CONFIRMED ---||QA Contact:|
|Priority:||P3||CC:||floeff+ooo, hdu, issues, thb|
|Target Milestone:||OOo 3.x|
|Issue Type:||ENHANCEMENT||Latest Confirmation on:||---|
Description firstname.lastname@example.org 2010-06-07 15:27:08 UTC
The VCL coordinate system is vertically flipped compared to the Quartz coordinate system. There are two possible approaches to handle this: 1. use a y-flipped height-shifted CTM for the graphics context to allow using VCL coordinates directly 2. flip y-coordinates manually before operating on a unity-CTM graphics context OOo's aqua-port choose method 1 and both approaches should work the same. Unfortunately it shows that OSX implements some improvements only for unity-CTM graphics contexts. Moving the baseline of text to pixel boundaries is probably the most important thing that is missing in y-flipped contexts, which cannot be emulated by moving the text coordinates. This results in grayish text baselines for y- flipped contexts whereas a unity-CTM graphics context gets higher contrast baselines. Unless Quartz/ATSUI/CoreText provide the chance to get the same look also for flipped-CTM graphics contexts we should consider to re-implement the VCL->Quartz glue code with approach 2 mentioned above.
Comment 1 floeff+ooo 2010-06-08 09:42:30 UTC
If there's something I can help you with, albeit I'm not a developer, let me know.
Comment 2 philipp.lohmann 2010-06-08 10:23:35 UTC
thanks for the offer
Comment 3 email@example.com 2010-10-29 11:24:31 UTC
There is a good chance that the text improvements mentioned in my issue summary will also be implemented for some non-unity CTMs: Quartz docs advise to use a y-flip transformation for for drawing text onto a view on iOS, since it uses the same coordinate convention as VCL of the upper left corner being the origin of the coordinate system extending downwards. As of OSX 10.6.4 this doesn't seem to be the case yet.
Comment 4 Rob Weir 2013-07-30 02:14:19 UTC
Reset assignee on issues not touched by assignee in more than 2000 days.