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

            Bug ID: 137080
           Summary: ENHANCEMENT: Make LibreOffice use built-in OpenType
                    Feature Small Capitals (smcp tag) when the typeface
                    has it instead of simulated Small Capitals
           Product: LibreOffice
           Version: 6.4.0.3 release
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: trivial
          Priority: medium
         Component: graphics stack
          Assignee: libreoffice-bugs@lists.freedesktop.org
          Reporter: joaopauloag-freedesk...@yahoo.com.br

Created attachment 165898
  --> https://bugs.documentfoundation.org/attachment.cgi?id=165898&action=edit
sample Writer document showing the small capitals issue

LibreOffice should be smart to detect when the font file has a “smcp” tag and
then apply the built-in small capitals instead of simulating the effect when
the user chooses to apply the small capitals effect:

The explanation below needs the Libertinus Serif available at
“https://github.com/alerque/libertinus/releases”, but any OpenType font with
the “smcp” tag will show the difference from simulated small capitals to real
small capitals:

The first line was directly formatted with Libertinus Serif and then applied
LibreOffice’s Small Capitals effect from Menu Format, Character, Font Effects,
Case, Small capitals. The effect applied was simulated by LibreOffice. Notice
how the small capitals have a thinner stroke than the regular capitals and even
the lowercase letters (when they should blend) and are noticeable higher than
the lowercase letters. The XML code on the document is <style:text-properties
fo:font-variant="small-caps" style:font-name="Libertinus Serif"/>.

The second line was directly formatted with Libertinus Serif and then applied
Advanced OpenType Feature Small Capitals (use “Libertinus Serif:smcp” as the
font name or go to Menu Format, Character, Font, Features, Lowercase to Small
Capitals). The effect applied was built-in on the typeface’s font file (true
small capitals). Notice how the built-in small capitals have the same stroke
width as the capitals and are bolder than the simulated small capitals,
blending perfectly with the capitals and the lowercase letters. The XML code on
the document is <style:text-properties style:font-name="Libertinus
Serif:smcp"/>.

The third line was directly formatted with both methods: simulated and
built-in/true small capitals. LibreOffice 7.0.0.2 renders them as if it was
applied only the simulated method when it should apply the built-in/true small
capitals. The XML code on the document is <style:text-properties
fo:font-variant="small-caps" style:font-name="Libertinus Serif:smcp"/> (notice
there are the two tags).

Almost all LibreOffice components which deals with choosing typefaces have this
defect that could be enhanced:  Base (when creating forms), Calc, Draw,
Impress, Writer.  Only Math does not have the common window called when Menu
Format Character is selected.

I think a good compatibility option should be accepting the documents written
with the old behavior (documents with the
“<meta:generator>LibreOffice/7.0.1.2</meta:generator>” or lower, for example)
so there is no text reflow, and then add to them a compatibility option similar
to the ones found at Menu Tools, Options, Load/Save, Microsoft Office and HTML
Compatibility. I suggest a new section named Advanced Typography Compatibility,
so other OpenType enhancements as true superscripts and true subscripts could
be added there too. I don't know where should be the best place/tag to save
that compatibility option on the document, but no tag written should mean no
compatibility.

And with new documents, the Menu Format, Character, Font Effects, Case, Small
Capitals should cause the documents to be saved only with
“<style:text-properties fo:font-variant="small-caps"
style:font-name="Libertinus Serif"/>” (even if the user goes to Menu Format,
Character, Font, Features, Lowercase to Small Capitals, which now creates the
“:smcp” code appended to the font name) and render the typeface with true
built-in small capitals (if it exists) and only fallback to simulated small
capitals if the font file does not have it.

I don’t like the “:smcp” appended on the typeface name because it creates
problems when changing fonts: it loses the “small capitals” feature, even if
the new font chosen has true small capitals, which is something that doesn’t
happen with other font attributes and effects (regular, bold, italic, italic
bold, color, underlining, etc.).

-- 
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