Switch to Hack as default monospace font
AbandonedPublic

Authored by jriddell on Jun 10 2016, 1:51 PM.

Details

Reviewers
dhaumann
Group Reviewers
Plasma: Design
Plasma
Summary

Noto Mono was added to Noto's git repository in January. Although it's not in the tar download of Noto fonts it is just as available to package as the previous font Oxygen mono.

Test Plan

Install, log out and in again, you should have noto font.

Diff Detail

Lint
Lint Skipped
Unit
Unit Tests Skipped
jriddell retitled this revision from to Switch to Noto Mono as default monospace font.
jriddell updated this object.
jriddell edited the test plan for this revision. (Show Details)
jriddell set the repository for this revision to R135 Integration for Qt applications in Plasma.
Restricted Application added a project: Plasma. · View Herald TranscriptJun 10 2016, 1:51 PM
Restricted Application added a subscriber: plasma-devel. · View Herald Transcript

If it's not released, we can't use it.

I'm sure you've personally told me that when I've needed Kubuntu to do something in the past.

Release management of Noto is curious, depending on where you get your release from it is released.

I've filed an issue to ask why it's not in the download tar https://github.com/googlei18n/noto-fonts/issues/711

Our current default is Oxygen Mono which is unmaintained and no longer released so it's no worse.

Maintainers answered on https://github.com/googlei18n/noto-fonts/issues/711 and they seem to recommend git versions over tar versions

mart added a subscriber: mart.Jun 13 2016, 8:18 AM

even if not optimal i think we should go for it

ok, but it'd have to be 5.8 given we're past dependency freeze.

mart added a comment.Jun 13 2016, 8:31 AM

ok, but it'd have to be 5.8 given we're past dependency freeze.

yeah, makes sense, let's go for 5.8

It's important to chime in here.

There is a huge issue with fonts in general, that do not provide all font faces. What we need is: regular (sometimes called roman?), bold, italic (sometimes called oblique), and bold italic (4 flavours in total).

As background: Oxygen Mono does only contain the font face "Regular". As a result, Kate, Kile, KDevelop (and every other app that uses the fixed font) cannot display anything in bold and/or italic. This already happened with the Oxygen font. As a consequence, Kile is pretty much hard to use, since the visual structure is hard to grasp, or C++ keywords like 'return' or 'void' are not thick in KDevelop/Kate.

That said, looking into Noto Mono, this font has the exactly same problem.

In other words: Noto Mono is a big no-no, just like Oxygen was (we unfortunately only noticed this issues very late).

The issue is even worse: Since users already use Plasma, they have "Oxygen" in kateglobalsrc. The above patch fixes this. But the "Oxygen" font also is in kateschemarc, for instance. This also needs to be fixed (and probably additionally blacklisted in the ktexteditor framework).

So from my side, this patch has the same problems as Oxygen Mono already had...

If you have further discussions about fonts, please consider also CCing kwrite-devel.

From a design perspective this is a no-brainer. Using another font is meaningless. So we in the VDG obviously approve of a switch to Noto Mono.

(that said I cant comment on the technical issues only the design ones)

Maybe I should have added: Since you already contacted the Noto devs on the googlegroup, can you also ask whether a bold-face variant and italic variant exists?

Mono in phase 3 is planned to have multiple weights, and will likely add a
condensed version. No italic is scheduled. We don't yet have alpha drops of the
new Mono.

BTW, the character repertoire for Mono is not the same as LGC, though there is
significant overlap. You can see the currently planned repertoire by examining
the data in the nototools/nototools/noto_cmap_phase3.xml file. We hope to
extend this to include some Math characters after work on that starts but this
is still tentative, see issue #669.

https://github.com/googlei18n/noto-fonts/issues/716

Hm, that doesn't sound as if the problem will solved within the next weeks.

I personally am using Bitstream Vera Sans Mono [1] in Kate. I don't know about its completeness, though. It is often said that the DejaVu fonts [2] extend the Bitstream Vera fonts and are more complete, but also look a bit different. Thing is, would that be an alternative?

If not, there is always the possibility of hard-coding it in Kate, since as said, a font without bold and italic font faces is a no-go for us.

[1] https://en.wikipedia.org/wiki/Bitstream_Vera
[2] https://en.wikipedia.org/wiki/DejaVu_fonts

Update script to Perl and do testing to check it works

Source Code Pro doesn't seem to be easily downloadable or packaged by any distro so I don't see that as something distros will accept easily. But feel free to add it into Kate.

Maybe I dismissed Source Code Pro too quickly, I've asked distros for an opinion on it

https://mail.kde.org/pipermail/kde-distro-packagers/2016-July/000201.html

http://i.imgur.com/rhZhlzY.png
Oxygen Mono has no bold/italic so nothing removed from status quo by using Noto Mono

Having looked at the options we decided Hack was nice so patch updated to switch to that. Should remove concerns of Kate devs as it supports Bold.

mak added a subscriber: mak.Jul 25 2016, 2:20 PM

Hack and Source Code Pro are beautiful fonts for programming - from a Debian perspective, there is no reason to not use Hack, we have it in the archive already (I don't know about Source Code Pro though).

jriddell retitled this revision from Switch to Noto Mono as default monospace font to Switch to Hack as default monospace font.Jul 27 2016, 10:41 AM
jriddell removed R135 Integration for Qt applications in Plasma as the repository for this revision.
sebas added a subscriber: sebas.

@dhaumann Does this font satisfy your concerns?

dhaumann edited edge metadata.Jul 29 2016, 7:51 PM

Yes, the font faces are all there, so HACK does qualify.

On a personal note, I think the 'i' looks a bit strange, but that's probably to distinguish it form better form a 'j'. Here, to my eyes, the 'i' from the Source Code Pro font looks better, but given I did not further study on whether both fonts are free, or which font provides more glyphs.

So yes, we can just try HACK, and if people complain, still change.

One more comment, can we add the kateschemarc file to the update script?

We need to change this line:
Font=Oxygen Mono,9,-1,7,50,0,0,0,0,0
i.e. searching for "Font=Oxygen Mono," and replacing it with "Font=Hack," should do the trick.

There may be multiple occurances of "Font=", and all should be replaced.

Can we extend this?

Is this still an open issue or can this be closed?

jriddell abandoned this revision.Feb 6 2017, 3:21 PM

all done