lasconic wrote
> According to https://bugreports.qt.io/browse/QTBUG-18980 Harfbuzz-NG is
> the default *shaper* now in Qt 5.4.

Glad to know! This seems a step in the right direction.

> My understanding is that the font *layouting & rendering* is still
> different per platform[...]

Thanks for the summary of the current situation.

> Maintaining our own Qt "fork" would be costly...

Indeed!

> 1/ MuseScore 2.0 suffers from the difference of font rendering on
> different
> platforms[...]

Of course, this is just my opinion but, having to choose between consistency
across platforms and "native-look"-ness on each platform, I would prefer the
former. Incidentally, the screen shot you give about using Freetype under
Windows does not look particularly alien to me or strikingly different from
the default; I agree I may not be a very neutral observer, though.

However, it is not clear if we *do have* any choice at all. The kerning
issue on Mac you quote ( https://musescore.org/en/node/33481
<https://musescore.org/en/node/33481>  ) is typical: as Apple and Microsoft
disagree in their vision of some OpenType details, their respective
implementations are different and relying on system routines is likely to
produce different results.

> I don't think we understand yet the root causes of these issues.

I suspect very few peoples do understand them; developers or teams with
substantial experience in dealing with text processing across multiple
platforms may have developed empirical strategies to circumvent them,
though.

> 2/ MuseScore 2.0 doesn't (and cannot) use OT features.[...]

The current point with Qt, even with 5.4, is that it may *use* OT features,
but *does not expose* them (at least I could not find any place where it
does). This means that supported features are activated by default and
unsupported ones are deactivated, but there seems to be no way to turn
on/off individual features in specific spots. This is (possibly) convenient
for features which apply unconditionally, but it is not for features the
user may want to activate locally.

For instance, if a font includes the "kern" or the "liga" features (which
are supported by Qt since several versions), kerning and/or ligatures will
be activated by default, but there seems to be no way to turn them on/off on
demand. So, it would not be possible to activate a feature like "ss01"
(stylistic set 1, which is anyway currently not supported by Qt) on specific
glyph runs.

Assuming a way is found (or will be provided by Qt in the future) to solve
this, I would distinguish between two major areas of application:

A) Musical glyphs: for the most part, they are drawn individually, then most
of the GPOS and many of the GSUB features are useless for them; using
stylistic sets or stylistic alternates, however, could be a way to give the
user access to (part of) the variety of shapes and styles possible within
SMuFL.

B) Textual glyphs: text runs may benefit from theoretically all the features
(as they have been developed specifically for text! Some apply to only some
scripts, though); it would then be a matter of deciding how far to go from
within MS, optimizing the flexibility and the typographic appropriateness
with the usability. I personally would love to see the day when MS will
allow to use 'real' small caps and lower-case numerals.

M.



--
View this message in context: 
http://dev-list.musescore.org/Qt-and-OpenType-tp7579162p7579172.html
Sent from the MuseScore Developer mailing list archive at Nabble.com.

------------------------------------------------------------------------------
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
_______________________________________________
Mscore-developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mscore-developer

Reply via email to