https://bugs.documentfoundation.org/show_bug.cgi?id=98879

--- Comment #9 from Khaled Hosny <khaledho...@eglug.org> ---
(In reply to Mark Hung from comment #8)
> Hi Khaled,
> 
> Here are some findings and my thoughts about processing vertical writing -
> 
> For common layout, GetVerticalFlagsForScript() returns GF_NONE for
> USCRIPT_COMMON, so the CJK punctuation marks in the sample do not have
> chance to be processed processed as its vertical writing form in
> CommonSalLayout::LayoutText().

We shouldn’t get any USCRIPT_COMMON by the time this function is called, since
it should have been resolved into a specific script by script itemization.

> OTOH, I'm thinking maybe GetNextRun should merge runs with script type
> USCRIPT_COMMON with previous run or set it to script type of the whole text
> if the run contains CJK punctuation marks as mentioned in 5.1 Handling
> Characters with the Common Script Property in UAX#24.

This should be the case already.

> The last thing is about how LayoutText set vertical flags for each glyph.
> Define rotation purely based on codepoint seems to be error prone.

I caouldn’t come up with a better way to do it, any suggestions are highly
appreciated.

What I have been thinking is that we should itemize the runs by character
orientation for vertical text, in addition to the bidi and script itemization
we currently do. But I couldn’t find any resources to know how to that, may be
you will have a better luck than me.

> It also depend on availability of vertical writing form in different font.

I think we will have to depend on the fonts doing the right thing for now,
after making sure we handle correct fonts correctly we can look into some
fallback behavior for defective fonts.

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to