Bug 82690 - VIEWING: Non-printing characters invisible if a font doesn't contain the necessary characters
Summary: VIEWING: Non-printing characters invisible if a font doesn't contain the nece...
Status: RESOLVED WORKSFORME
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
4.3.0.4 release
Hardware: Other All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: CJK
  Show dependency treegraph
 
Reported: 2014-08-16 06:05 UTC by Matthew Francis
Modified: 2024-07-25 13:41 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments
Document which demonstrates the issue (9.10 KB, application/vnd.oasis.opendocument.text)
2014-08-16 06:06 UTC, Matthew Francis
Details
Image showing the missing paragraph mark (8.18 KB, image/png)
2014-08-16 06:06 UTC, Matthew Francis
Details
Font test sheet showing the issue in more fonts (32.23 KB, application/vnd.oasis.opendocument.text)
2014-08-18 06:43 UTC, Matthew Francis
Details
Image of font test sheet (106.84 KB, image/png)
2014-08-18 06:44 UTC, Matthew Francis
Details
Screenshot: Reproduce with "华文新魏" font (57.97 KB, image/png)
2014-08-19 13:46 UTC, Kevin Suo
Details
Screenshot: Difference in size of non-printing characters (31.95 KB, image/png)
2014-08-19 15:37 UTC, Matthew Francis
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Matthew Francis 2014-08-16 06:05:20 UTC
When View -> Non-printing Characters is enabled in Writer, the non-printing characters in question are rendered in the font of the text to which they belong.

However, if the font in question doesn't contain the necessary characters, the non-printing characters are invisible whether or not View -> Non-printing Characters is enabled.

For instance, on OSX, the font "Baoli SC" does not contain a paragraph mark symbol (U+00B6 PILCROW SIGN).


To reproduce:
1. Open the attached document
2. Ensure View -> Non-printing Characters is enabled

Notice that the first paragraph (font: Baoli SC) has no paragraph mark, while the second paragraph (font: Hiragino Sans GB) does.
Comment 1 Matthew Francis 2014-08-16 06:06:07 UTC
Created attachment 104703 [details]
Document which demonstrates the issue
Comment 2 Matthew Francis 2014-08-16 06:06:56 UTC
Created attachment 104704 [details]
Image showing the missing paragraph mark
Comment 3 Matthew Francis 2014-08-16 09:29:11 UTC
Another example: "Hoefler Text" has the Pilcrow sign character, but not the bullet character used to denote whitespace
Comment 4 Jean-Baptiste Faure 2014-08-18 04:39:08 UTC
If a font does not contain standard characters, the issue is on the font designer side. So closing as NotOurBug.

Feel free to reopen if you think I am missing something.

Best regards. JBF
Comment 5 Matthew Francis 2014-08-18 04:51:50 UTC
The two fonts I picked are standard fonts on OSX, and where there are two it's very likely that there are others. Not every font covers every character of English/European text, especially in the case of CJK (such as the example I gave of "Baoli SC") and CTL fonts.

The bug is that OL assumes that the display of non-printing characters can be achieved through any random font. For ordinary text, the font fallback mechanism would take care of this, but it seems this is not applied for the non-printing characters.

There are two plausible solutions:

1. Pick a standard font (on each platform?) to render the presence of non-printing characters

or

2. Allow the font fallback mechanism to also apply to the non-printing characters
Comment 6 Matthew Francis 2014-08-18 05:08:15 UTC
Other standard CJK fonts (specifically Chinese) on OSX which do not contain the Pilcrow sign:

Songti SC Black
Xingkai SC Light
Xingkai SC Bold
Yuanti SC Regular
Yuanti SC Bold
Comment 7 Matthew Francis 2014-08-18 06:25:13 UTC
The "standard font" option is possibly already applied for linefeeds (rather than paragraph breaks) that are made visible. The linefeed character always looks the same regardless of the text font or character size
Comment 8 Matthew Francis 2014-08-18 06:43:40 UTC
Created attachment 104791 [details]
Font test sheet showing the issue in more fonts
Comment 9 Matthew Francis 2014-08-18 06:44:31 UTC
Created attachment 104792 [details]
Image of font test sheet
Comment 10 Jean-Baptiste Faure 2014-08-18 07:13:07 UTC
Hi Kevin Suo,

What do you think about this bug report ?

Best regards. JBF
Comment 11 Kevin Suo 2014-08-19 13:46:56 UTC
Created attachment 104889 [details]
Screenshot: Reproduce with "华文新魏" font

I do not reproduce with the original attachment 104703 [details], becaue I do not have the Baoli SC font installed so the font was fallback to Simsun.

However, I do reproduce the missing paragraph mark when I changed the font to "华文新魏". See screenshot.

I agree with  Matthew Francis that for non-printing chars, the font should always fallback to western font (the most appropiate should be the libreoffice-built-in fonts like libration fonts etc.)

Set to NEW.
Comment 12 Matthew Francis 2014-08-19 15:22:49 UTC
(In reply to comment #11)
> I agree with  Matthew Francis that for non-printing chars, the font should
> always fallback to western font (the most appropiate should be the
> libreoffice-built-in fonts like libration fonts etc.)

Note that if this is handled purely as an issue of fallback, the Pilcrow sign (paragraph) will still be substituted with something random under some symbol fonts - see "Bodoni Ornaments ITC TT" and "Symbol" in the later test image

It might not be a very interesting corner case, but possibly worth thinking about anyway
Comment 13 Matthew Francis 2014-08-19 15:37:08 UTC
Created attachment 104903 [details]
Screenshot: Difference in size of non-printing characters

Attaching one more image as a reminder that there is currently also an inconsistency between the size of the linefeed and paragraph markers

The space bullet and Pilcrow sign are rendered at the size of the text - even to the point that they wander off the edge of the page entirely when the font size is large enough

The linefeed marker is, in contrast, resolutely small at any font size

Linefeed and paragraph at least probably want to be at the same scale, though which option is better I'm not sure. Something to consider if the rendering is changed.
Comment 14 QA Administrators 2015-09-04 02:49:54 UTC Comment hidden (obsolete)
Comment 15 QA Administrators 2016-09-20 10:29:55 UTC Comment hidden (obsolete)
Comment 16 QA Administrators 2019-12-03 14:19:21 UTC Comment hidden (obsolete)
Comment 17 LeroyG 2020-09-03 22:03:53 UTC
Same with Font Wingdings. Pilcrow is a star, space has no symbol.

Version: 6.3.6.2 (x86)
Build ID: 2196df99b074d8a661f4036fca8fa0cbfa33a497
CPU threads: 4; OS: Windows 6.1; UI render: default; VCL: win; 
Locale: es-MX (es_MX); UI-Language: en-US
Calc: threaded
Comment 18 QA Administrators 2022-09-04 03:50:18 UTC Comment hidden (obsolete)
Comment 19 Jonathan Clark 2024-07-25 13:41:32 UTC
I tried to reproduce this issue by viewing the first attachment on a MacOS machine with Baoli SC and 24.2.5.2, but I wasn't able to reproduce it:

Since this bug was filed, PILCROW SIGN has been added to Baoli SC.

After switching to a font which does not include PILCROW SIGN, the formatting mark still appears, using a fallback font.

The original issue appears to have been fixed at some point, so I'm closing this bug WORKSFORME.