Feature #9956

Consider replacing the additional fonts we ship with Noto

Added by alant 2015-08-09 01:56:05 . Updated 2019-03-23 15:38:42 .

Status:
Duplicate
Priority:
Normal
Assignee:
Category:
Internationalization
Target version:
Start date:
2015-08-09
Due date:
% Done:

10%

Feature Branch:
feature/15807-trimmed-and-consistent-l10n-support, greeter:feature/9956-noto
Type of work:
Research
Blueprint:

Starter:
Affected tool:
Deliverable for:

Description

Noto fonts (https://en.wikipedia.org/wiki/Noto_fonts) is a font that “designed to cover all the scripts encoded in the Unicode standard”. According to Behdad Esfahbod in his talk “Fonts without borders” at GUADEC 2015 it’s ready to use, and the default font in android.

We might want to consider replacing the additional fonts we ship by this one.

It is packaged in debian in fonts-noto, which is available in wheezy-backports, jessie ane unstable. Under unstable, I wasn’t able to find a language in wikipedia that is not displaied with only Debian standard donts and that one installed.


Subtasks


Related issues

Related to Tails - Bug #13473: Missing common proprietary Arabic fonts make some PDF documents unreadable Rejected 2017-07-16
Related to Tails - Feature #16095: Curate the list of languages in Tails Greeter Resolved 2018-11-04
Is duplicate of Tails - Feature #15807: Define & apply clear criteria for including dictionaries, fonts and language packs Resolved 2018-08-18

History

#1 Updated by intrigeri 2015-08-18 05:45:51

  • Assignee set to alant
  • QA Check set to Info Needed

Sounds like a great idea in principle. Now I’m slightly confused:

Can you please clarify?

#2 Updated by alant 2015-08-18 10:24:05

  • Assignee deleted (alant)
  • QA Check deleted (Info Needed)

intrigeri wrote:
> Can you please clarify?

I may have misunderstood the talk, which is here: http://videos.guadec.org/2015/Fonts%20without%20Borders/.

Anyway is written above, with only this custom fonts I wasn’t able to find a letter that wouldn’t display in wikipedia.

#3 Updated by intrigeri 2015-08-19 04:16:13

  • Type of work changed from Discuss to Research

OK, so that’s Research work: IMO we need clarifications before we can discuss this any further.
Whether it’s the default on Android or not (and what GNOME’s plans are) makes quite a difference.

#4 Updated by intrigeri 2015-08-30 00:50:21

  • Subject changed from Consider replacing the additional fonts we whip by noto to Consider replacing the additional fonts we ship by Noto

#5 Updated by intrigeri 2015-08-30 00:56:47

  • Subject changed from Consider replacing the additional fonts we ship by Noto to Consider replacing the additional fonts we ship with Noto
  • Category set to Internationalization
  • Status changed from New to In Progress
  • % Done changed from 0 to 10
  • Feature Branch set to feature/9956-noto

I was curious after watching that talk (see the commit message for details wrt. Noto vs. Roboto), so I gave it a quick try.

Size-wise, Noto would make the ISO noticeably bigger:

  • Tails 1.5.1: 942MB
  • feature/9956-noto: 973MB

… but of course we would be covering more scripts.

Next question: would this move introduce regressions for non-Latin scripts that we currently ship dedicated fonts for? (Rationale: supporting more scripts would be nice, even if nobody ever requested them to be supported, but let’s avoid breaking existing supported use cases. And we can’t rely on the Android / Chrome OS experience since we’re shipping a different DE and probably different font rendering engines and/or settings.) IMO this can only be resolved by publishing a test ISO and issuing a call for testing.

#6 Updated by intrigeri 2015-08-31 11:52:29

I’ve discussed this with the current Debian installer maintainer (thanks Cyril!).

The graphical d-i now uses fonts-droid (Download-Size: 3.5MB) as a way to cover scripts that are not supported by the other fonts it includes. It would be good to check if simply adding that font would substantially improve our script coverage, without making the ISO much bigger, and without having to go through the testing process I suggested earlier on this ticket.

To see what font is used for which language in the graphical d-i, debcheckout rootskel-gtk and then see src/usr/bin/gtk-set-font in there (current version. Note that DroidSansFallback.ttf (the only font that’s shipped by fonts-android-udeb) isn’t explicitly listed in there, it’s simply used as a fallback for missing glyphs.

#8 Updated by Anonymous 2017-06-28 14:16:51

  • Assignee set to alant

So it looks to me that there is a possibility to test the branch which ships Noto, although I guess that this branch will need to be updated and merged with current master first.

From the discussion from debian-devel which intrigeri has pointed to, Debian also switches to Noto.

@alant, could you please clarify what you think should be done? Who can update and test the branch?

#9 Updated by intrigeri 2017-07-17 14:47:09

  • related to Bug #13473: Missing common proprietary Arabic fonts make some PDF documents unreadable added

#10 Updated by Anonymous 2018-01-19 09:28:48

ping @alan?

#11 Updated by Anonymous 2018-08-18 11:12:51

One more gently ping :)

#12 Updated by intrigeri 2018-08-18 18:05:23

  • related to Feature #15807: Define & apply clear criteria for including dictionaries, fonts and language packs added

#13 Updated by intrigeri 2018-08-18 18:08:53

kibi, if you could point us to the current list of fonts shipped with the graphical d-i, this would be sweet :)

#14 Updated by CyrilBrulebois 2018-08-18 18:54:52

There you go, after a netboot-gtk build of the master branch in unstable:

(sid-amd64-devel)kibi@armor:~/debian-installer/installer$ egrep '\s+(ttf|fonts)-' build/dest/MANIFEST.udebs|sort -u
    fonts-android-udeb 1:6.0.1r16-1.1 all
    fonts-dejavu-mono-udeb 2.37-1 all
    fonts-dejavu-udeb 2.37-1 all
    fonts-farsiweb-udeb 0.4.dfsg-12 all
    fonts-freefont-udeb 20120503-8 all
    fonts-khmeros-udeb 5.0-7 all
    fonts-knda-udeb 1.3-3 all
    fonts-lao-udeb 0.0.20060226-9 all
    fonts-lohit-guru-udeb 2.91.2-1 all
    fonts-mlym-udeb 7.0-2 all
    fonts-noto-hinted-udeb 20171026-2 all
    fonts-sil-abyssinica-udeb 1.500-1 all
    fonts-sil-padauk-udeb 3.003-1 all
    fonts-taml-udeb 1.2.2-4 all
    fonts-telu-udeb 2.5.5-1 all
    fonts-thai-tlwg-udeb 1:0.6.5-1 all
    fonts-tibetan-machine-udeb 1.901b-5 all
    fonts-ukij-uyghur-udeb 20110217-3 all

(Oh, see? Every font we rely on is finally named fonts-*, woohoo.)

#15 Updated by CyrilBrulebois 2018-08-18 19:00:31

Checking my debian-boot@ folder, a few pointers related to Noto:

We switched from the ttf-cjk-compact-udeb hack to fonts-android-udeb at this point:

  • #794432: debian-installer: please switch from ttf-cjk-compact-udeb to fonts-android-udeb

Some fun, long fixed:

  • #853921: fonts-android-udeb: broken rendering for Korean glyphs in debian-installer

#16 Updated by intrigeri 2018-08-18 19:50:25

> There you go, after a netboot-gtk build of the master branch in unstable:

Great, thanks!

> (Oh, see? Every font we rely on is finally named fonts-*, woohoo.)

Grml, it was so much better in the good old XFree86 days, without all this young cool kids nonsense :]

#17 Updated by intrigeri 2018-08-18 20:04:15

Next step: try to replace our current list of fonts with those used by the graphical d-i, build an ISO, compare its size with the relevant baseline, boot & login in many potentially affected languages, spot issues, optionally take screenshots and attach them here. If this looks good enough we can issue a call for testing on tails-testers, Twitter, and perhaps even our blog :)

#18 Updated by intrigeri 2018-08-18 20:05:41

  • Assignee deleted (alant)

Rationale: Alan has been pinged twice in the last year, his last activity here was 3 years ago, let’s make it clear that this ticket needs a volunteer.

#19 Updated by intrigeri 2019-03-08 15:41:38

  • Status changed from In Progress to Confirmed

#20 Updated by intrigeri 2019-03-18 14:55:24

intrigeri wrote:
> * http://google-opensource.blogspot.cz/2015/05/roboto-googles-signature-font-is-now.html says that the Roboto family of fonts is the default on Android, as opposed to Noto;

Quoting https://en.wikipedia.org/wiki/Roboto: “On Android, the Noto font is used for languages not supported by Roboto, including Chinese (simplified and traditional), Japanese, Korean, Thai and Hindi”. So indeed, in the context of this ticket, where the matter at hand is non-Latin scripts, Roboto doesn’t matter.

#21 Updated by intrigeri 2019-03-18 15:39:17

  • Status changed from Confirmed to In Progress

Applied in changeset commit:tails|ed7a35df256a8938af9fad82cb02eb43223e6e1a.

#22 Updated by intrigeri 2019-03-18 15:54:11

intrigeri wrote:
> Next step: try to replace our current list of fonts with those used by the graphical d-i, build an ISO,

Nah, that’s not gonna work, at least not in the context of this ticket: d-i uses Noto only for two languages, with udebs that have nothig to do with the debs we can install. So for now I’ll refocus this ticket on replacing all non-Latin fonts we ship with Noto. We can come back to “copy whatever d-i does” if the Noto attempt fails.

But that part is relevant:

> compare its size with the relevant baseline, boot & login in many potentially affected languages, spot issues, optionally take screenshots and attach them here. If this looks good enough we can issue a call for testing on tails-testers, Twitter, and perhaps even our blog :)

I’ve refreshed the topic branch and will do that.

#23 Updated by intrigeri 2019-03-18 16:01:51

For context, I’m working on this now mostly in order to:

  • simplify the discussion on Feature #15807: dropping fonts there has a broader impact than “removing support for Tails in language X”: it also prevents displaying any document or web page in language X, regardless of what locale Tails is running in
  • simplify the discussion on Feature #16095: hiding languages in the Greeter is fine but then, maybe users of these languages still should be able to read & write documents in their language without having to find out which font package they need to install, even if the Tails UI is in English
  • avoid having to maintain a long list of fonts accross Debian upgrades: there’s quite some churn on the Debian front and we’ve done a very poor job at keeping our list up-to-date wrt. current best practices; I’d rather have one set of Noto fonts instead

#24 Updated by intrigeri 2019-03-18 18:34:54

  • Assignee set to intrigeri
  • Target version set to Tails_3.14

> > compare its size with the relevant baseline,
>
> I’ve refreshed the topic branch and will do that.

The resulting ISO is 1169M (vs. 1177M for Tails 3.12.1). GNOME sessions in zh_CN and ar_EG look OK, at first glance, to my unskilled eye.

Next steps:

> boot & login in many potentially affected languages, spot issues, optionally take screenshots and attach them here. If this looks good enough we can issue a call for testing on tails-testers, Twitter, and perhaps even our blog :)

While we’re at it, we could also remove:

  • fonts-lyx, but that removes pitivi, which is already on our list of candidates for removal on Feature #15291. It’s too small to bother here and we remove pitivi on Feature #15291, this font package will magically go away.
  • ttf-unifont: it’s installed only because it was added as a dependency of the Greeter in… 2011; I suspect it’s not used anymore, or would not be used on this branch.

#25 Updated by intrigeri 2019-03-23 14:27:26

  • Feature Branch changed from feature/9956-noto to feature/9956-noto, greeter:feature/9956-noto

#26 Updated by intrigeri 2019-03-23 14:28:58

  • related to Feature #15807: Define & apply clear criteria for including dictionaries, fonts and language packs added

#27 Updated by intrigeri 2019-03-23 14:29:09

  • related to Feature #16095: Curate the list of languages in Tails Greeter added

#28 Updated by intrigeri 2019-03-23 14:29:55

  • related to deleted (Feature #15807: Define & apply clear criteria for including dictionaries, fonts and language packs)

#29 Updated by intrigeri 2019-03-23 14:30:04

  • related to deleted (Feature #15807: Define & apply clear criteria for including dictionaries, fonts and language packs)

#30 Updated by intrigeri 2019-03-23 14:30:11

  • blocks Feature #15807: Define & apply clear criteria for including dictionaries, fonts and language packs added

#31 Updated by intrigeri 2019-03-23 15:31:27

  • Feature Branch changed from feature/9956-noto, greeter:feature/9956-noto to feature/15807-trimmed-and-consistent-l10n-support, greeter:feature/9956-noto

#32 Updated by intrigeri 2019-03-23 15:38:10

  • blocked by deleted (Feature #15807: Define & apply clear criteria for including dictionaries, fonts and language packs)

#33 Updated by intrigeri 2019-03-23 15:38:42

  • Status changed from In Progress to Duplicate
  • Assignee deleted (intrigeri)
  • Target version deleted (Tails_3.14)

To simplify I’m merging this with Feature #15807.

#34 Updated by intrigeri 2019-03-23 15:38:59

  • is duplicate of Feature #15807: Define & apply clear criteria for including dictionaries, fonts and language packs added