Bug#971830: fonts-jetbrains-mono: please advertise which scripts are covered

2020-11-19 Thread Paul Wise
On Fri, 2020-11-20 at 03:14 +0100, Jonas Smedegaard wrote:

For fonts where large coverage is a priority I think we should
ideally list explicitly all languages that are _fully_ covered. Fonts
covering more languages than reasonable to list in a package
description
should then be split into one package per (large coverage) language
group.

I guess that works in the cases where the font files themselves are
already split up into language groups, but does that happen often?

For large lists of languages, perhaps joining them into one paragraph
rather than one per line would be a good idea to save space but still
allow for searches to work.

Because someone interested in displaying glyphs for a specific
language is not really helped to be informed that "lots of lanugages
are
covered" and only slightly better to know that "languages in your
language
family is covered".

This is reminding me of Fedora's work on adding font name, language and
script metadata to their package manager, so something like this works:

rpm install "font:name:Jetbrains Mono" font:language:dk

IIRC appstream is what that morphed into and it looks like the Debian
appstream metadata contains per-locale coverage information as well as
font names for each font package in Debian. I'm not sure how to use
appstreamcli to find a font using this data though.

-- 
bye,
pabs

https://wiki.debian.org/PaulWise


signature.asc
Description: This is a digitally signed message part


Bug#971830: fonts-jetbrains-mono: please advertise which scripts are covered

2020-11-19 Thread Jonas Smedegaard
Quoting Paul Wise (2020-11-20 02:43:52)
> On Thu, Nov 19, 2020 at 6:54 PM Jonas Smedegaard wrote:
> 
> > I would indeed not use raw listings of more than 50 entries, but 
> > would try find ways to summarize the information most sensibly.
> 
> Would it be useful to (automatically) group large lists of languages 
> into families?
> 
> https://en.wikipedia.org/wiki/Language_family 
> https://en.wikipedia.org/wiki/List_of_language_families

I don't think listing language families really helps.

For fonts where large coverage is a priority I think we should ideally 
list explicitly all languages that are _fully_ covered. Fonts covering 
more languages than reasonable to list in a package description should 
then be split into one package per (large coverage) language group.

Because someone interested in displaying glyphs for a specific language 
is not really helped to be informed that "lots of lanugages are covered" 
and only slightly better to know that "languages in your language family 
is covered".

I still remember the mess in the 90's where danish ligatures were often 
missing even from commercial fonts, and would love if we could provide 
actually useful information about coverage.


 - Jonas

-- 
 * Jonas Smedegaard - idealist & Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/

 [x] quote me freely  [ ] ask before reusing  [ ] keep private

signature.asc
Description: signature


Bug#971830: fonts-jetbrains-mono: please advertise which scripts are covered

2020-11-19 Thread Paul Wise
On Thu, Nov 19, 2020 at 6:54 PM Jonas Smedegaard wrote:

> I would indeed not use raw listings of more than 50 entries, but would
> try find ways to summarize the information most sensibly.

Would it be useful to (automatically) group large lists of languages
into families?

https://en.wikipedia.org/wiki/Language_family
https://en.wikipedia.org/wiki/List_of_language_families

-- 
bye,
pabs

https://wiki.debian.org/PaulWise



Bug#971830: fonts-jetbrains-mono: please advertise which scripts are covered

2020-11-19 Thread Jonas Smedegaard
Quoting Romain Porte (2020-11-19 18:07:15)
> 2020-11-19 00:43 CET, Jonas Smedegaard:
> > I sure hope you had fun diving into this - and that I did not 
> > mislead you when suggesting to explore this.
> 
> I�sure did, it allowed me to learn how the substitution system and 
> dh_gencontrol work. It is just the result that I find disappointing in 
> the end.
> 
> > There must be code out there to automate the task of inspecting 
> > language coverage, but I have not yet found anything useful to 
> > package for Debian.  That would be nice, and I would certainly use 
> > it for package description of Noto fonts.
> 
> Would you not be concerned about introducing 145 lines listing the 
> languages in the long description? I think "long" should be "long 
> enough", not "exhaustive".
> 
> > >   List of supported scripts:
> > >- Default
> > >- Latin
> > >- Latin/Azeri
> > >- Latin/Catalan
> > >- Latin/Crimean
> > >- Latin/Kazakh
> > >- Latin/Moldavian
> > >- Latin/Romanian
> > >- Latin/Tatar
> > >- Latin/Turkish
> 
> Is this addition in the package's long decription worthwhile to you, 
> and if so, should I merge the proposed patch?
> 
> I see in the noto fonts package that the long description contains:
> 
> > The name "Noto" is short for "No Tofu",
> > describing the aim of covering all living Unicode scripts
> > (currently 65 are covered, at least partly.
> 
> Which is different from what I came with. I would be *happier* to 
> follow what noto currently does by piping in a `| wc -l` to mention 
> " scripts covered" instead of "list of supported scripts".
> 
> Do you agree with this approach? Or do you want to take my patch and 
> apply it to the noto fonts instead aswell? ;)

I would indeed not use raw listings of more than 50 entries, but would 
try find ways to summarize the information most sensibly.

With current tools, I do find it most sensible to do as I did for the 
Noto font families.  I am no authority here, but if you agree then sure, 
I do encourage you to try mimick that same style for jetbrains font.

What I mean by stating that I would "certainly use" more accurate 
language coverage analysis tools is that they could help replace that 
annoying trailing "at least partly" remark with more accurate facts.


 - Jonas

-- 
 * Jonas Smedegaard - idealist & Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/

 [x] quote me freely  [ ] ask before reusing  [ ] keep private

signature.asc
Description: signature


Bug#971830: fonts-jetbrains-mono: please advertise which scripts are covered

2020-11-18 Thread Jonas Smedegaard
Quoting Romain Porte (2020-11-18 23:59:02)
> Hi Jonas,
> 
> 2020-10-12 22:35 CEST, Jonas Smedegaard:
> > Totally untested, it should look something like the following 
> > rewritten to instead use short-form dh sequencer:
> >
> > override_dh_dh_gencontrol:
> >   printf fonts:familylist= \
> >   >> debian/fonts-jetbrains-mono.substvars
> >   otfinfo -a $(wildcard src/*.ttf) | cut -d: -f2 \
> >   | LC_ALL=C sort -u \
> >   | $$(substvars-list-encode) \
> >   >> debian/fonts-jetbrains-mono.substvars
> >   dh_gencontrol -- -Vfonts:scriptcount="$(fonts-scriptcount)"
> 
> So, I took way too much time on this and the result is deceiving.
> 
> The -a option of otfinfo will print the name of the fonts, which is 
> not I guess what you wanted to get.

Sorry, my mistake.


> The attached patch can be applied on the new version 2.210-1 that 
> should be available on mentors.debian.net soon.
> 
> This patch produces the following result:
> 
>  Description: free and open-source typeface for developers
>   JetBrains Mono. A typeface for developers.
>   Features include:
>- Increased height for a better reading experience
>- Adapted to reading code
>- 138 code-specific ligatures
>- 145 languages
>- 4 weights with matching italics
>   List of supported scripts:
>- Default
>- Latin
>- Latin/Azeri
>- Latin/Catalan
>- Latin/Crimean
>- Latin/Kazakh
>- Latin/Moldavian
>- Latin/Romanian
>- Latin/Tatar
>- Latin/Turkish
> 
> But I�am quite dissapointed by it, because I�think this information 
> makes little sense compaired to upstream supporting 145 languages (why 
> are there only a few listed?), and it is bugged because Cyrillic or 
> Greek are not listed, while they are supported by this version.
> 
> Maybe otfinfo is wrong, maybe it is something else, but I do not think 
> I will pursue to work on this bug. Listing all of the supported 
> languages in the long description would not make sense.

Languages and scripts are not the same - e.g. my mother tongue, danish, 
uses the latin script, as does vietnamese: 
https://en.wikipedia.org/wiki/List_of_Latin-script_alphabets

When the font author counts _languages_ covered then indeed that is a 
larger number than that for scripts, because more than one language 
require only ASCII coverage of the latin script for full mapping.

Checking language coverage is more difficult, as it requires inspecting 
not only metadata of script names declared, but also the coverage for 
each script and aligning that with mappings for each language - e.g. for 
danish if the non-ASCII glyphs ae o-slash aa Ae O-slash Aa are covered 
(and if they actually display something reasonably representing æ ø å Æ 
Ø Å as they are supposed to - not misplace o-slash with french oe or as 
some 90's crappy Truetype fonts did just repeat a o a A O A).

There must be code out there to automate the task of inspecting language 
coverage, but I have not yet found anything useful to package for 
Debian.  That would be nice, and I would certainly use it for package 
description of Noto fonts.

I sure hope you had fun diving into this - and that I did not mislead 
you when suggesting to explore this.


 - Jonas

-- 
 * Jonas Smedegaard - idealist & Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/

 [x] quote me freely  [ ] ask before reusing  [ ] keep private

signature.asc
Description: signature


Bug#971830: fonts-jetbrains-mono: please advertise which scripts are covered

2020-10-12 Thread Jonas Smedegaard
Quoting Romain Porte (2020-10-12 16:04:52)
> On Thu, 08 Oct 2020 11:50:47 +0200 Jonas Smedegaard  wrote:
> > Long description emphasizes script coverage as notable feature, yet 
> > does not tell _which_ scripts are covered.
> >
> > The purpose of package long description is to aid a user unfamiliar 
> > with a package to decide if relevant to install, and most users will 
> > likely want to know if their own script is covered rather than 
> > simply "many".
> >
> > Please therefore consider including in long description which 
> > scripts is covered by fonts-jetbrains-mono.
> >
> > I can recommend to look at how such information is automated in the 
> > source package fonts-noto.

> After looking the debian/control file of fonts-noto [1], I only was 
> able to find out that the "${fonts:scriptfonts}" variable was used in 
> the long description of the package to list how many scripts were 
> supported by the package.
> 
> I however failed to see how the full list of scripts was included in 
> the long description of the package — can you guide me to where this 
> is done, and how?

The data is resolved in rules file: 
https://salsa.debian.org/fonts-team/fonts-noto/-/blob/master/debian/rules#L91

Sorry, I had forgotten that fonts-noto still uses cdbs which is alien to 
many and not recommended for new packaging work.

Totally untested, it should look something like the following rewritten 
to instead use short-form dh sequencer:

override_dh_dh_gencontrol:
printf fonts:familylist= \
>> debian/fonts-jetbrains-mono.substvars
otfinfo -a $(wildcard src/*.ttf) | cut -d: -f2 \
| LC_ALL=C sort -u \
| $$(substvars-list-encode) \
>> debian/fonts-jetbrains-mono.substvars
dh_gencontrol -- -Vfonts:scriptcount="$(fonts-scriptcount)"


Hope that helps,

 - Jonas

-- 
 * Jonas Smedegaard - idealist & Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/

 [x] quote me freely  [ ] ask before reusing  [ ] keep private

signature.asc
Description: signature


Bug#971830: fonts-jetbrains-mono: please advertise which scripts are covered

2020-10-12 Thread Romain Porte
On Thu, 08 Oct 2020 11:50:47 +0200 Jonas Smedegaard  wrote:
> Package: fonts-jetbrains-mono
> Version: 1.0.4-1
> Severity: minor
>
> Hi,
>
> Long description emphasizes script coverage as notable feature,
> yet does not tell _which_ scripts are covered.
>
> The purpose of package long description is to aid a user
> unfamiliar with a package to decide if relevant to install,
> and most users will likely want to know if their own script is covered
> rather than simply "many".
>
> Please therefore consider including in long description which scripts
> is covered by fonts-jetbrains-mono.
>
> I can recommend to look at how such information is automated
> in the source package fonts-noto.
>
>
> - Jonas
>
Hi Jonas,

After looking the debian/control file of fonts-noto [1], I only was able
to find out that the "${fonts:scriptfonts}" variable was used in the
long description of the package to list how many scripts were supported
by the package.

I however failed to see how the full list of scripts was included in the
long description of the package — can you guide me to where this is
done, and how?

The current "supported languages" count (and other counts) are directly
extracted from upstream's website.

Best regards,

Romain.

[1]
https://salsa.debian.org/fonts-team/fonts-noto/-/blob/master/debian/control




signature.asc
Description: OpenPGP digital signature


Bug#971830: fonts-jetbrains-mono: please advertise which scripts are covered

2020-10-08 Thread Jonas Smedegaard
Package: fonts-jetbrains-mono
Version: 1.0.4-1
Severity: minor

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

Hi,

Long description emphasizes script coverage as notable feature,
yet does not tell _which_ scripts are covered.

The purpose of package long description is to aid a user
unfamiliar with a package to decide if relevant to install,
and most users will likely want to know if their own script is covered
rather than simply "many".

Please therefore consider including in long description which scripts
is covered by fonts-jetbrains-mono.

I can recommend to look at how such information is automated
in the source package fonts-noto.


 - Jonas

-BEGIN PGP SIGNATURE-

iQIzBAEBCgAdFiEEn+Ppw2aRpp/1PMaELHwxRsGgASEFAl9+4PcACgkQLHwxRsGg
ASHT9w/9GEtD04VQrJm1+mhlG4NR/SE1Sspph18AgdCc2fKQpbXHgDOdya/9XHny
tD5RPqVyMI6/rfjWOLz8jX/75odFO62EXyjIob01x7h4tF+B2oVaELSaunrM3Uf2
R1uIjYIa3utTvfdtL4A7Y+NOPBV0rkm4v5kn70tESOJMiyAq8dWWfDJxNVckw80J
LgHSE6OojwUo6TK9H9byPZSBHEKaxM8kUyQNjfJjbdiWDBTuRgkJcRRVvmznlG/T
j3BCOtxkc2kTd+h4AP/94xSnula2npskZSm+t2kNM9lLpnmGmhVXQWMyWCk16KBh
u31uWMTwRr6LBGFgu5ZajoZugD60dMbUaYM8dQT19xgvlASfxKMl3zVj0iA8q+u+
U4zE/qOkaCoHgZIuMRFCP5Tuli1anaDrtzidK2QipkR3FMAIvSrmPPLL0+AtNe+h
pljXXhtgC5d614rwJcjdP14gsZXE8sXICQIBFVSt3Lk2fwHdpdY7J388D0MeZF+K
UqKi0EAk1R47mYrLysrsUPuqmib5421TylSvsQ9O7jSrlI5emjHcxlhTeNPwOQNm
wtvhSIuOWQx04EIgMAZ65gzCn2gRBpFef6jfNFCwFg2Tap/4DDl3b/ZagKxRJWg7
qBM+pmqgFXAOjm41RQ4cfIuWtp1ZfX/6VLkf8tWOTRHaQrIqrwE=
=x1qr
-END PGP SIGNATURE-