@Daniel Benjamin Miller Yes, I am still working on this project. However, I have invested much more time in developping font tools/math such as this and this (and I am still working on the maths as I am still not satisified with the results).
Every now and then, I have worked on Elemaints Bold Caption. Because it has to work as master with the other two masters (Caption and Display), this also includes changes to Caption and Display.
Some glyphs that I have been working on since October:
Accents and special characters:
Greek:
As always, I am glad to hear advice and suggestions.
I wish you every success in devising this typeface; it looks beautiful to me, and as well, I think it is the sort of choice that is needed for mathematical typesetting.
The first version of your bold for the Latin glyphs looked to me like one that had been revised and polished many times.
It's too late to change now, but one thing I would have noted is that the "Siddur" style of Hebrew, instead of the Frank Ruhl style, is more common when Hebrew is used, like Greek, as an additional source of characters in mathematics. However, the Frank Ruhl style may actually be a better fit to the rest of your typeface.
You have noted that you are leaving the kerning of the characters until later, but the only thing I noticed about your face that seemed to need improvement was that some of the oldstyle tabular figures did not look to be properly centered. However, when I looked again, I couldn't decide which digits had a problem, and instead it seems as though there is no problem, and I did not look carefully enough at first.
Because it is already so good, your fear that if you released an early version of the typeface, it would be spread all over the Internet and used in its unfinished form is indeed reasonable.
What I love about this typeface it is that it is going to be an open-source type system. We have computer modern, yes. But this will provide a similarly full-featured set with a really nice design too. Too many open source fonts lack any interesting features or math support.
Thank you for your kind words, @Thomas Phinney. This keeps me motivated to keep working on.
Since the last entry, I have (more or less) finished the bold faces. Now I am facing the italic faces. This is a first attempt, which still in very early stage; spacing and kerning is not done yet (upper: Elemaints Caption Italic, lower: Elemaints Caption):
You may have noticed the influence of Bitstream Charter (upper: Elemaints Caption Italic, lower: Bitstream Charter):
I know, that I will have to fiddle again the italic angles and I will keep on working on the italics anyway. However, if you have already any suggestions or tips, I am glad to hear them!
I'm getting the impression of a very wide stride for an italic. On closer inspection, it might mostly have to do with the /u/ and, to a lesser degree, /n/ and /o/ being wider than I'd expect.
Is the color intended to be even between roman and italic? To my eye the italics look relatively light, increasingly as the optical size goes down. I also wonder if the caption cuts could be chunkier (lower contrast). But you've certainly looked at this at target sizes more than I have.
@Craig Eliason Yes, the color is intended to be even between roman and italic because roman and italic will be mixed in math style (variables mostly italic, numbers mostly roman).
The font parameters of the italic faces are not yet quite set, I can easily change them now. I have made them darker now (95 % of the stem width of the roman stem width, which is at the upper end of the ratios compared to other type families). About "chunkier": There is an optical size below caption called "tiny" which has rather low contrast in my opinion.
However, you are not the first to mention that the lower optical sizes of the Roman faces could be more robust (see some posts before). I have made corrections to the roman faces since then, but Elemaints is still lighter compared to Arno (but has similar darkness as Minion, Stempel Garamond, ...). For the italic faces, i have made now a comparison between different math typefaces for n to the power of n. The basis is set in regular size whereas the exponent is set in a caption font. To me, the example of Elemaints seems to be okay (altough a darker caption font may fit even better to be honest).
(The Computer Modern scan is from The Metafontbook and probably shows the intendended darkness by Donald E. Knuth. The digitized Computer Modern fonts are much lighter.)
Have you tested the ℚ on mathematicians? The curve of the inner vertical bars stopped me from recognising it as being the rationals; i just saw it as a fancy 'Q'.
@RichardW Well, I AM a mathematician But yes: Upon your comment, I have tested the ℚ with other mathematicians and they could easily recognize it. Maybe you are more used to the straight double stroke fonts (see the example left of the following picture)? For comparison: AMS Symbols 10 (the blackboard bold font by the American Math Society, which is often used as standard in LaTeX files) looks quite similar as Elemaints Regular.
To the right, I have added a variant, which uses more superness for the inner arcs. Do you think this would fit better?
I am used to two straight strokes - that's how I write it. The 'superness' variant looks better - because at small sizes the curves go away. For me, plain text on this site has a version with straight strokes, and I recognise that instantly, without having to use the assumption that it's a proper noun denoting a set. Sometimes the names of these sets are written with just bold capitals, and it then takes me longer to grasp what they mean.
@RichardW Two straight strokes were the familiar way in my college days, then I became familiar with the curved versions at university and the (real) bold versions in books (which I still don't like). I have now increased the superness of the inner bowls for all faces:
@Piotr Grochowski It is an own character set. Besides full Underware Latin+ and nearly full polytonic Greek support, all relevant LaTeX encodings for math are contained:
MSBM (math symbols B encoding by the American Math Society)
MSAM (math symbols A encoding by the American Math Society)
OMS (TeX Math Symbol as defined by Donald Knuth)
OML (TeX Math Text as defined by Donald Knuth)
OMX (TeX Math Extended Symbol as defined by Donald Knuth - they have mostly height 0 since the TeX Metric Files cannot handle too many different heights and depths)
Which of the character sets mentioned in https://unicodesubsets.miraheze.org/wiki/Logic_table_of_supersets does it contain and which it does not (if every single character in a character set is found, it contains the character set, if at least one character is not there it does NOT contain the character set)
@Piotr Grochowski I think ASCII, ISO 8859-1, CP1252 and MES-1 are covered. Everything containing cyrillic is not covered at the moment. I do not know a tool where font encoding coverages can be checked automatically but if you want to check: Here are the hexadecimal unicodes of my fonts.
@Piotr Grochowski I think ASCII, ISO 8859-1, CP1252 and MES-1 are covered. Everything containing cyrillic is not covered at the moment. I do not know a tool where font encoding coverages can be checked automatically but if you want to check: Here are the hexadecimal unicodes of my fonts.
ASCII, which is 00 20-7e , is contained. However, it does not contain ISO 8859-1, which is 00 20-7e a0-ff . This is because from your data it appears that your font does not contain U+00A0, the non-breaking space, which is also the only missing CP1252 character. As for MES-1, it does not contain 00a0, 2015, 215b, 215c, 215d, 215e.
I do not know a tool where font encoding coverages can be checked automatically
I think PyFontaine is designed for this kind of thing.
That is an internal Google Fonts tool or something, and it does not seem useful to have a separate font reading library specifically for character set analysis, as one could use FreeType and get the Unicode values of every glyph index, then on the resulting array perform mathematical checks for whether this character set is a superset of another character set.
@Piotr Grochowski Thanks for looking up the missing code points! I have added the missing slots and now ISO 8859-1, CP1252 and MES-1 are covered.
By the way: For my more intense checks now, PyFontaine was not useful for me, I just needed a list of codes of these subsets, as you already pointed out:
It's a lovely /z but is a bit exuberant in comparison to the pretty sober other italics. If you do keep it, it might need to be a little taller. Perhaps italic /r could be narrower.
@Craig Eliason I already feared the /z could be too exuberant... I have made now a more arid /z and have made the /r less wide. I think the /z now automatically look taller.
While looking at my own examples I also was dissatisfied with the upright /g which is now less excentric. I have also added a math italic /g.
The italics are not proceeding fast... Some things that I have done since the last post:
The ampersand was developped from an image by Pierre Simon Fournier (to the very left) to a spiro skeleton. The skeleton has then been optimized (rounder, less prominent t-bar). Then the skeleton has been expanded by an elliptic pen and the t-bar had to be rotated. Finally (to the very right), the ampersand has been adjusted by hand:
The section sign (§) was nice, but I made a new one (to the left) with a more traditional design (the old one to the right is available as alternative):
The ligatures needed quite some time (some ligatures like ẞ, œ, æ are still not optimal), because the spacing between the ligature components was quite difficult for me:
So here is an extended specimen of the italic caption face: (Have I mentioned, that italic digits are by far more difficult to draw than regular digits?)
Comments
I also wonder if the caption cuts could be chunkier (lower contrast). But you've certainly looked at this at target sizes more than I have.
For the italic faces, i have made now a comparison between different math typefaces for n to the power of n. The basis is set in regular size whereas the exponent is set in a caption font. To me, the example of Elemaints seems to be okay (altough a darker caption font may fit even better to be honest).
00 20-7e a1-ff
01 00-7f 8f 92 9d e6-e7 ea-eb fa-ff
02 18-1b 32-33 37 59 72 c6-c7 d8-dd
03 00-04 06-08 0a-0c 0f 11-12 15 23-28 30 35 61 7a 84-8a 8c 8e-a1 a3-ce d1 d5-d6 dc f0-f1 f5-f6
05 d2
06 6a
0e 3f
1e 80-85 9e a0-a1 b8-b9 bc-bd ca-cd e4-e5 f2-f3 f8-f9
1f 00-15 18-1d 20-45 48-4d 50-57 59 5b 5d 5f-7d 80-b4 b6-c4 c6-d3 d6-db dd-ef f2-f4 f6-fe
20 0b-0c 10 12-14 16 18-1a 1c-1e 20-22 26 30-32 35 39-3b 3d 40 44-46 70 74-79 80-89 a1 a4 a6 a9 ab-ac b1-b2 d7 dd
21 02-03 0b 0d 0f-13 15-1e 20 22 24 26-27 2c 2e 30-33 35-38 41 90-9b 9e a0 a2-a3 ab-ae b0-b1 b6-b7 ba-c4 c6-d5 da-db dd
22 00-08 0b 0f-14 17-1a 1d-1e 20-2b 2e 34-35 3c-3d 40-43 47-48 4a 4d-4f 51-53 56-57 5c 61 64-6c 6e-73 76-77 7a-83 86-8b 8e-9b 9d-a6 a8-af b2-b5 b8 ba-bc c0-c7 c9-d4 d6-db de-e1 e6-ed
23 08-0b 22-23 29-2a 9b-ad b7
24 22-23 c7-c8
25 0c 10 14 18 71-72 a0-a1 aa b3-b5 b8-b9 bd-bf c2-c3 c6-c7 cb e6
26 05 60-63 65-66 6a 6d-6f ad-ae
27 13 1d 20 c2 e8-eb
2a 00-06 5e 7d-7e 85-88 8b-8c 95-96 af-b0 b5-ba c5-c6
2e 18 40
e0 00-0b
e1 32-33
fb 00-04
1d4 9c 9e-9f a2 a5-a6 a9-ac ae-b5
1d5 38-39 3b-3e 40-44 46-47 4a-50 5c
1f1 2f
1f6 52
1f7 c9
ASCII, which is 00 20-7e , is contained. However, it does not contain ISO 8859-1, which is 00 20-7e a0-ff . This is because from your data it appears that your font does not contain U+00A0, the non-breaking space, which is also the only missing CP1252 character. As for MES-1, it does not contain 00a0, 2015, 215b, 215c, 215d, 215e.
subset_cp1252 = subset_iso8859_1 + [0x0152,0x0153,0x0160,0x0161,0x0178,
0x017D,0x017E,0x0192,0x02C6,0x02DC,0x2013,0x2014,0x2018,0x2019,0x201A,
0x201C,0x201D,0x201E,0x2020,0x2021,0x2022,0x2026,0x2030,0x2039,0x203A,
0x20AC,0x2122]
Perhaps italic /r could be narrower.