ChangeLog

2024-06-23 After totally failing to get a dark OR light stylesheet working (both parts work on their own, but for some reason only the default option is being chosen) I am switching to a default dark mode and as part of this reverting to a Sans font. All the PDFs are in light mode (grey or black text on white) but viewers such as Evince (Gnome's 'Document Viewer' - Night mode) and epdfview-gtk3 (Invert colors) will get around that and make for easier reading, particularly where the text is faint.

2024-06-01 I revised WenQuanYi Zen Hei again - I found out how to get XeLaTeX doing correct line breaking for my very simple use case. I also updated the links to NotoCJK - the old Monospace fonts are still available, and newer than what I've looked at. will look at them soon.

2024-05-29 I started to look at the normal Sans fonts and became increasingly dissatisfied with how some languages were overflowing into the right-hand margin. This does seem to vary a lot from font to font, and my initial view was that most Latin and Cyrillic examples looked fine. My initial searches about hyphenation turned up polyglossia, but that lacked support for any of the languages which I first noticed overflowing.

I decided to search for information on how to either hyphenate these languages or else break them into syllables - hyphenating at a syllable break, even if not an accepted place to hyphenate, seems better than random breaks. All I care about here is the Article 1 text in my examples.

For Abkhazian I skimmed the (latin) text at Chirikba Dictionary and made some rough guesses about how to split the text.

For Northern Sami I found hyphenation rules at Wikipedia

For Tatar I read Wikipedia and then looked at glottometrics.iqla.org which uses a Latin alphabet. With the exception of one word (туалар - rendered as tuwalar in the Latin which implies a syllable split between the 't' and the first 'a') I think I've got a reasonable offering.

For Adyghe, Maltese and Kazakh I could not find any rules, so I am forcing hard line breaks between words when I rework the affected files, and / or adding extra spacing between words, or reducing spaces between words: in general, a blank space semes to be treated as 2pt, often 1.5pt is still visibly a space, sometimes 1pt is sufficient to see there is a space (it depends very much on the character shapes and sizes). But in a few cases I've had to go with uneven line lengths.

Later I discovered that even with my added soft-hyphens text sometimes overflowed, so I reworked it as necessary to manipulate the inter-word space, either by removing small amounts (usually either 0.5pt or 1pt), or else adding extra space. In some cases this latter approach means that words are very widely spaced.

Eventually, I got desperate to fix some other languages which overflowed the margins in DejaVu Sans. In the end, I found that I could use polyglossia for hyphenation, e.g. in Armenian, although for Northern Sami polyglossia still overflowed, so I'm not using its 'sami' hyphenation. I've now revised all the Sans -languages files to begin by using Polyglossia where that and the font have support for the language : Polyglossia uses fontconfig for non-Latin 'scripts' to check that the font has an OpenType tag showing it supports that script. The tags are documented at The OTF Spec and the relevant tags for my purposes are 'cyrl', 'grek' and for a font such as WenQuanYi Zen Hei 'hani' (CJK Ideographic).

A few combinations of languages/fonts have some lines which marginally overflow even after reformatting, and where reducing inter-word spacing would make the text run together too much. In those cases I am now, if I remember, putting a note that I cannot sensibly format this to fill from margin to margin.

Summary:

  1. I use my own attempts for where to place hyphens for Abkhazian, Azeri, Kazakh, Northern Sami, Tatar and then reformat the text if necessary.
  2. If polyglossia thinks a font does not support a script I again use my own attempts for where to place hyphens and reformat if necessary.
  3. I reformat the text for Adyghe, Maltese and Yakut as necessary.

As ever, this is all down to my judgement, and any errors are mine.

2023-12-12 Updated the lipsum-modern-serif PDF and add those Modern Serif fonts which have small capitals into a new table in fonts-with-sc.html.

2023-12-08 I discovered that my example of the Russian alphabet had a '5' instead of the lowercase hard sign, and that I had not noticed this until now when I was reviewing the coverage of Small Caps in a font where '5' descends below the baseline. I have now recreated the languages and smallcaps PDFs for Latin fonts except for Modern Serif fonts which I am currently revising. Updating languages files for those CJK fonts which have limited Cyrillic coverage will happen whenever I update the CJK fonts.

2023-12-05 I eventually realised that Italic and Slant are not faces, but styles. However, I soon forgot that when I came back to looking at fonts in mid-2024, and it is not tremendously importent. I have been told that Latin, Cyrillic and Greek are proper nouns and should have capitals. Spanish (I had lowercase in describing possible French letters) and Turkic should similarly be in capitals. All these items will be corrected in future updates of the 'languages' PDFs for 'Latin' fonts.

Updated Lipsum-serif-oldstyle PDF and added oldstyle Serif fonts which have Small Caps to 'Fonts with Small Caps'.

2023-11-08 I have now moved the details of my current process, together with details of how I classify fonts, and 2023 changes to what I put in the languages PDFs into a separate page. Similarly, the links for web pages to use for testing coverage of languages, and this changelog, are now no-longer in the main page.

I plan to update the main lipsum files to show more details of what the fonts contain (weights, and small caps), also to start to summarise the preferred fonts for latin (includes cyrillic, greek). For the moment, doing lipsum-transitional-serif is a first step tomards this.

I have started to investigate coverage of small caps in fonts. I discovered that my Adyghe alphabet was incorrect (duplicated one letter, missed several others), and that I had used gĦ instead of għ in the Maltese alphabet. I have started to rework languages files to include both weights and details of coverage of small caps and, for italic faces, italics and smallcap italics where available. These details will appear when I update the various lipsum serif, sans, monospace files.

I describe slant faces as italic - fontconfig picks them up as italic, and they seem to be more common for cyrillic languages and for greek. Looking at the 'italic' Ukrainian alphabet I now include when a font has cyrillic italics, some letters can have very different forms.

I updated my stylesheet to prefer whichever Serif font the viewer has installed, and to use paler colours and darker text on the web page.

2023-10-20 I have now revised the PDF-languages files for the main fonts (i.e. those which support at least several languages in the latin alphabet, but ignoring most CJK fonts).

I now tend to omit mention of Azeri and Northern Sami from summarising where they are not fully covered. Because of my background I expect 'Eng' to look like a tall lowercase n with a tail or curve, so initially I started commenting where a font had the 'N-with-tail' shape preferred in africa but did not support african languages using 'Eng', but the number of fonts like that has led me to not comment on all of them.

My third batch of revised fonts - Accanthis ADF Std No3, Cousine, IBM 3270, JetBrains Mono, Junicode, LibertinusMono and LibertinusSerif (these replace LinLibertine), Public Sans, Vollkorn. Droid Sans Fallback Full is no-longer available, replace by Droid Sans Fallback.

More new fonts - Atkinson Hyperlegible, Cascadia Code, Cascadia Mono, Common Serif, Go Mono, Go, Libertinus Sans, OpenDyslexic.

New versions of languages files for Antykwa Poltawskiego, Baskervald ADF Std, Caladea, DejaVu Sans Mono, DejaVu Serif, Droid Sans Mono, EB Garamond, Fanwood Text, FreeMono, Gelasio, Goudy bookletter 1911, IM FELL English, Linden Hill, Nimbus Mono, OFL Sorts Mill Goudy, Old Standard, Prociono, Romande ADF Std, Tex Gyre Cursor, TeX Gyre Pagella, TeX Gyre Schola, TeX Gyre Termes, Tribun ADF Std. I have also revised the languages file for Andika to use a slightly different variant of Eng for Northern Sami, and another (N-with-tail) for African languages.

Corrected the alphabets for Kazakh and Tatar, re-formatted the Japanese Article 1. This has led me to update the languages files for WenQuanYiZenHei and HanaMinA.

Corrected the dowload link for Droid Sans Mono.

Many fonts are now packaged as TTF, but with the required OTF tables. For IBM 3270 use the ttf file, there is an open bug about the positioning of some glyphs in the otf (and woff) files.

2023-09-08 Updated to Unicode-15.0.0 for future creation of contents files, after noticing unassigned codepoints which turned out to be Latin Extended -F and -G and regenerated glyphs files for Andika, Gentium Plus to include these descriptions.

Second batch of data for revised fonts - Alegreya, Liberation Mono, Liberation Serif, Libre Baskerville,i Noto Sans Mono, PT Mono, PT Serif, Source Serif 4, Terminus TTF, Source Code Pro, Tinos, Ubuntu Mono.

New versions of languages files for Berenis ADF Pro, Hack, Latin Modern Mono, Latin Modern Roman.

2023-08-30 First batch of data for revised fonts - Alegreya Sans, Andika, Arimo, Cantarell, Charis SIL. Doulos SIL, Gentium Plus, Liberation Sans, Merriweather, Merriweather Sans, Noto Sans, Oxygen, Oxygen Mono, PT Sans, Roboto, Source Sans 3, Ubuntu. Cantarell, Charis SIL, Gentium Plus, Oxygen and Oxygen Mono are now at Google.

New versions of languages files for Aerial, Aerial Mono, Carlito, DejaVu Sans, FreeSans, FreeSerif, Gillius ADF No2, Latin Modern Mono, Latin Modern Roman, Latin Modern Sans, Lato, Luxi Mono, Luxi Sans, Luxi Serif, Neo Gothis ADF Std, Nimbus Roman No9 L, NimbusSanL, Open Sans, TeX Gyre Adventor, TeX Gyre Heros, Tymes, Universalis ADF Std, Verdana. I've started to drop mentioning 'not Azeri' for fonts which are focussed on European languages. Also corrected some links I had forgotten to change.

2023-08-14 I started to get ready for looking at some other fonts, then became aware that my specifications of fonts in xelatex would apparently need to change to get bold and italic. I thought I must have not noticed that in the past, but it eventually brcame apparent that I'd become confused by some help offerings on how to specify a separate Small Caps font - they were aimed at people using fonts not known to fontconfig, either from TeXLive or loaded in a user's directory. I have in the meantime revised my 'template' to get a bit more information on a page, and noted that the codepoint I had been using for a Pilcrow ('paragraph mark') was actually for a reversed pilcrow. That is fixed in the new template, but at the moment I'm weeks away from uploading anything using that - too many fonts have changed. As a first step I'm fixing some things I noticed.

I'm sure the links to debian used to let me download the '.orig' tarballs, but when I checked one I could only get debian packages, so I've changed them to debian pool where the tarballs can be found.

The interface at google fonts has changed since I last looked at it.

The Paratype 'PT' fonts are now at google and the weights now have the normal Regular, Bold, Italic, BoldItalic names instead of numbers and letters. But the Mono font now has only the regular weight. I have kept the existing files with the old names until I revise them, but I note that the current versions of these files contain fewer bytes - usually a newer version is bigger.

The Luxi fonts are now at version 1.0.4 but that has not changed the fonts, only some associated files. Therefore I have bumped the version but will not be altering the version in existing documents (but will eventually create new languages files).

Google have rearranged access to the Noto fonts, the complete tarball and the Mono CJK fonts have disappeared. The latter appear to be available at one or two font websites. There is now also a Noto Sans HK file for Hong Kong.

I plan to eventually revise the coverage and languages files for many of these fonts, particularly those where I have noticed a newer version, but I suspect I will do those in batches because there are more interesting things I hope to achieve, such as changing some of the 'lipsum' (dummy text) files. In a change from my past practice I will not necessarily use the same paragraphs for each font in the updated lipsum files, I have come to realise that larger/smaller is not the most important choice when looking at fonts.

2021-03-01 Updated details for Cantarell (0.301) and realised it now covers Greek, so I reworked lipsum-greek-sans.pdf to add this and revised the text there to be slightly shorter, which altered some of the positions (sorted by length).

2020-05-11 Updated the details for Cantarell (0.201), Noto Sans (v2017-10-24-phase3-second-cleanup), Liberation (2.1.0). Terminus TTF (4.47.0). Added Public Sans, Noto Mono, Hack, JetBrains Mono. Liberation has moved to github.

2019-08-06 I revised SourceCodePro, which is now the preferred monospace font in gnome - the version at googlefonts is effectively unchanged, but the released version from adobe github covers monotonic greek and the main cyrillic alphabets.

2017-02-08 The fonts formerly at fedorahostsed (Liberation, lohit) reappeared at pagure.io just after I updated the links to a mirror and to my local copy. I have just noticed. Moved the download links to point to their current locations.

2017-11-09 Updated remaining lipsum files to use the same text for each font (gujarati, hebrew, hindi, kannada, lao, malayalam, myanmar, punjabi, sinhala, tamil, telugu, thai). Corrected typo Nyanmar in the table entries for Padauk fonts.

2017-03-03 The fedorahosted site has now shut down. For the Liberation fonts I have found a mirror. For Lohit fonts I could not find tarballs, so I have uploaded the 20140220 tarball which I used (all fonts, but not all are the latest) onto this site.

2017-02-27 Google use serif as a css fallback for ALL the Noto Arabic fonts, so treat them as serif. Updated the arabic, armenian, bengali, georgian lipsum files to use the standard text. Updated DejaVu to 2.37, corrected the note that DejaVuSansMono does not cover Lao - the missing glyphs in the Lao block are for the Khmu language (Noto Sans Lao does cover that, but I cannot find an example of the UDHR in Khmu).

2017-01-24 Changed the download for Kochi substitute from osdn.jp to osdn.net, and the VL Gothic download from debian to upstream at osdn.net. For Arimo, Cousine and Tinos link to the individual fonts at Google fonts. This allows me to link to the individual Noto fonts at a different Google site, instead of to the old packages with every font. Corrected a typo in cambria-substitutes.pdf.

2016-12-31 Added second table of fonts. I have partially revised the lipsum files (latin, greek, cyrillic, CJK) to use the same text for each font, to separate monospace latin and greek into Sans and Serif, and to separate the latin Sans and Serif into their types. I also separated Chinese Serif into Kai and Sung (also called Song or Ming). Addressing the remaining writing systems to use the same text is deferred. I also moved all the github links together. Corrected links for the old Arphic fonts from CTAN to debian (CTAN doesn't have ttf versions!). Added an overflow third table - initially just one font.

2016-12-08 Add PDF-substitute files to document fontconfig's substitutions for missing latin fonts. Add comments in 'Downloading' re perms and note that it is not necessary to manually run fc-cache on linux with recent versions of fontconfig.

2016-11-12 Small typographical fix, and start to add classifications to (latin) serif and sans-serif fonts. I also found out that the Noto Sans Mono CJK fonts are double-width CJK (as normal), but half-width for everything else.

2016-08-18 Reinstate the old fireflysung, and renumber everything after that.

2016-08-17 Typographical fixes (mostly, trying to remove excess space characters from within words). Corrected DejaVuSans-languages.pdf, I had shown the Pashto alphabet although it does not support it, at least in this version (two boxes in it).

2016-08-05 Ready to apply the updated version - my free webspace went away, but I'm now purchasing a lot more space so that I can fit in more things.

Ken Moffat, 2016-2024. E&OE