Bug#971830: fonts-jetbrains-mono: please advertise which scripts are covered
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
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
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
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
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
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
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
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-