Hi, Mike.

I would like for the new text features to be presented to SG16 for feedback in Cologne.  Could you or an appropriate doppelganger of your choosing plan to do such a presentation in Cologne?  I'd like for a brief overview of the text related features to be presented along with some small code examples (a simple hello world should suffice).  Our focus will be on the boundaries where text flows in and out of the text rendering interfaces, not on issues like fonts, styling, or user input (I consider those squarely SG13 territory and out of scope for SG16 per P1238).  There is some SG13/SG16 overlap in terms of file names that may be worth discussing (See section 2.7 of P1238R1 in the pre-meeting mailing); file names may require special support as they cannot, in general, be communicated via (well-formed) text.

Tom.

On 6/17/19 1:42 PM, Michael McLaughlin via SG13 wrote:
Hello all,
 
The next revision of 2D graphics will be presented at the upcoming Cologne meeting. As opposed to making everyone wait for the mailing, if you would like, you can access R9, the paper submitted for the pre-meeting mailing, here: https://github.com/cpp-io2d/io2dts/blob/master/papers/P0267R9.pdf .
 
Major changes include text rendering and command lists. Note that not all text rendering features were ready for inclusion in the paper and the reference implementation does not yet contain text rendering (this should be added within the next week for cairo-based builds, if not sooner; and yes, I checked to ensure that all features can be theoretically done in CoreText even though my MacBook Air is on loan such that I can't personally try to update it).
 
Text features that made the cut for R9 were all within the intersection of common functionality of Qt, Pango, and CoreText. Planned features for R10 include metrics (measurements of text you want to render) and layouts (pre-defined combinations of text and basic_text_props). Layouts rely on metrics to be useful and metrics get very difficult when kerning (and possibly hinting) enter.
 
Other features might also find their way in. Take a look at the current API and make notes of things that you feel are important that are missing. More explicit BiDi support is one I can think of. Vertical text support is another. Both can potentially be addressed with the planned layout feature.
 
I expect to be on the upcoming telecon on the 20th so if you get a chance, please try to glance through the paper. Comparing it against R8 is probably a good way to see the major changes, though sections have been updated and added to help everyone keep track of what is new and changed.
 
I would attach the paper directly, but I don't know if the list will accept an attachment. If you need the link for the directory that R9 is in, here it is: https://github.com/cpp-io2d/io2dts/tree/master/papers .
 
Best regards,
 
-Mike