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

Jonathan Clark <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
             Blocks|113300                      |162323, 157526
     Ever confirmed|0                           |1
            Summary|Language detection does not |Overlapping ligature glyphs
                   |work for many languages     |involving font fallback in
                   |                            |certain languages (see
                   |                            |comment 2)

--- Comment #2 from Jonathan Clark <[email protected]> ---
This example shows a glyph positioning issue with ligatures involving font
fallback, so I am marking this bug new and retargeting.

---

For the broader issue from the original report:

Noto Sans doesn't have glyphs for all languages. When you use the Noto fonts,
almost all CTL and CJK languages are handled by fallback based on system
configuration.

Font substitution is sensitive to document language. This is actually a
feature, not a bug, but it can produce unexpected results. For a good example
of this mechanism working correctly:

> $ fc-match "Noto Sans":lang=ja-JP:charset=6c34
> NotoSansCJK-Regular.ttc: "Noto Sans CJK JP" "Regular"
> $ fc-match "Noto Sans":lang=zh-CN:charset=6c34
> NotoSansCJK-Regular.ttc: "Noto Sans CJK SC" "Regular"

Simply by setting "Noto Sans" as the font and changing the language setting, my
distro-provided font config can intelligently switch between a Japanese font
and a Chinese font for codepoints that are shared across multiple languages.

However, if I try the same thing with Thai, I get:

> $ fc-match "Noto Sans":lang=en:charset=e22
> FreeSerif.ttf: "FreeSerif" "Regular"
> $ fc-match "Noto Sans":lang=th:charset=e22
> NotoSansThai-Regular.ttf: "Noto Sans Thai" "Regular"

...which is definitely a bug, but unfortunately it's in my distribution. It's
not a LibreOffice bug that we could easily fix.


On Linux, you can reproduce the clean config copy-and-paste Burmese fallback
scenario from the terminal with the following command:

> fc-match -s "Noto Sans Devanagari":lang=hi-IN:charset=102c | head -n 5 -

On my machine, I get the following:

> NotoSansMyanmar-Regular.ttf: "Noto Sans Myanmar" "Regular"
> NotoSansDevanagari-Regular.ttf: "Noto Sans Devanagari" "Regular"
> NotoSans-Regular.ttf: "Noto Sans" "Regular"
> NotoColorEmoji.ttf: "Noto Color Emoji" "Regular"
> NotoSansCJK-Regular.ttc: "Noto Sans CJK SC" "Regular"

My computer is substituting the correct font, at least, and the glyphs show up
instead of being rendered as tofu. However, the glyphs overlap due to a real
bug.


Referenced Bugs:

https://bugs.documentfoundation.org/show_bug.cgi?id=113300
[Bug 113300] [META] Language detection bugs and enhancements
https://bugs.documentfoundation.org/show_bug.cgi?id=157526
[Bug 157526] [META] Font fallback issues
https://bugs.documentfoundation.org/show_bug.cgi?id=162323
[Bug 162323] [META] Complex Text Layout (CTL) issues
-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to