Style: Mono: discern shape of serifs for i l t

Reported by Paul Sladen on 2010-11-18
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Ubuntu Font Family
High
Amelie Bonet

Bug Description

In the Ubuntu Mono a number of the characters are "bulked out" to the full width of the monospace grid by using serifs (even through the core design has non-serif tendencies), these include the letters in the word

  'flirt' and to a lesser-extent, 'j' and '1'

a few alternatives have been proposed, circular serifs, half-serifs and full horizontal serifs.

One possibility is to use the straight serifs for the uprights and the curved variants for the monospace italics to give a bit of a difference (with monospace there is no opportunity to tightening the tracking).

Paul Sladen (sladen) on 2010-11-18
Changed in ubuntu-font-family:
assignee: nobody → Amelie (amelie)
importance: Undecided → Low
milestone: none → mono
status: New → Incomplete
Paul Sladen (sladen) wrote :

Parachute's DIN Monospace takes the same full-flat/half-curved approach for serifs on the Monospace:

  http://upscaletypography.com/?p=1884
  http://www.parachute.gr/fonts.aspx?Sample=1&FontStyleID=1&FontFamilyID=62&CharacterSetID=82

Paul Sladen (sladen) on 2010-11-30
description: updated
George Ryan (george-ryan) wrote :

Here's a very unscientific test I did using a spreadsheet to mimic monospacing using the standard Ubuntu font. Unfortunately, I couldn't get OpenOffice to make the individual cells any smaller without distorting the font.

I think I have to admit that doing a like-wise port of the standard Ubuntu font to a monospace results in a bit of a sterile look.

It would be nice to be able to see the characters closer together to see if they fill in any of the space at all.

George Ryan (george-ryan) wrote :

I really like the way the t looks in the DIN Monospace, and I think I prefer their f character as well. I like that it doesn't have the stem (for lack of proper name) at the bottom, which makes it blend with the other curvy letters well. The f character in the Ubuntu mono font looks great, but perhaps it looks a bit more like a courier letter than an Ubunto (proportional) letter.

Paul Sladen (sladen) wrote :

Serifs are used to fill-out the characters in a monospace font (the designer does not have the flexibility to alter the bounding box width like in a proportionally-spaced font).

The attached PDF shows four serifs styles, tagged a, b, c, d, e. An earlier test I believe compared a and e styles, confirming that _some_ sort of serif was necessary.

A meeting on Thursday 2010-12-02 suggested that our direction should be towards those those give a slightly lighter feel to the font.

Mark: since the various descriptions we were using verbally, could you confirm in letter form your thoughts on b, c, d and which would we should focus on for possibly doing a comparison test on in the future. (The glyph /shapes/ themselves here are not important, I have only mocked them up for ease of reference).

adoa (adoa) wrote :

Relevant or not, at first glance I personally like the serifs in version b. The other ones look too heavy. But that impression can be different with longer texts.

Denis Moyogo Jacquerye (moyogo) wrote :

About option d:
The hook at the base of i is not a good design since it would make it look exactly like a Latin iota (U+0269) when accented. For exemple, in IPA transcription or in a language using those letters, "pí" and "pɩ́" have different meanings and should look different.

George Ryan (george-ryan) wrote :

This is a nice idea. I zoomed out far enough that the letters felt about the same size as I would code with (i.e., about 8-10 pt) because I think that gives me a better feel for the recognition differences of the letters.

At that size, the differences between the letters in version (a) are not as easily recognizable as they are in (e) and (d). Also at that size, the serif at the bottom of the 1 in (c) is too small to be really noticeable and the l character might look too much like a 1 if you didn't have a 1 nearby for comparison.

I'm leaning towards (b) and (e). :-)

Paul, thanks for the mockup, did that come from DM? I don't recognise
the glyph style from some of them

 - we already have three options, called "slab", "half" and "loop"
 - I already sent out a note saying my preference was for the loop
approach, with work done on "1" to give it some sort of base serif
 - I'm quite happy with the i, l and t in the loop option, just want the
"1" fixed before we go to wider test

Mark

Denis Moyogo Jacquerye (moyogo) wrote :

On Sun, Dec 5, 2010 at 9:12 AM, Mark Shuttleworth
<email address hidden> wrote:
>  - I'm quite happy with the i, l and t in the loop option, just want the
> "1" fixed before we go to wider test

What's the solution to make "í" look different than "ɩ́" with the loop option?

Paul Sladen (sladen) wrote :

Denis: at the moment I'm trying to get confirmation from Mark (without using the current semi-ambiguous textual descriptions) which we one(s) we want to prepare for wider feedback testing.

At the moment I have two early fonts in-hand since a couple of days ago which I'm trying to dogfood in my daily working. For this I have created two new profiles in Gnome-Terminal which select those two fonts, then by using screen -x (connect to an existing screen session without disconnecting the other viewer) I can have the same window/IRC/emacs visible to two terminals.

Mark also has a couple of fonts to test in-hand, but they could well be different iterations, once we have confirmation on the particular two/three directions to test, DaltonMaag can prepare the .ttfs and we can do some wider testing. At the moment neither of the iacute or iota-combining-acute _exist_ in the Ubuntu Monospace workings, so it's not possible tell if they are ambiguous or not! If you encounter these two in your daily working and find that other monospace fonts do not differentiate sufficiently, please could you file a bug against the 'mono' milestone so that special attention can be paid to that use-case (it would be useful if you could provide a sample text which uses those two codepoints in close proximity in the real world).

  https://bugs.launchpad.net/ubuntu-font-family/+filebug

Bruno Maag (bruno-daltonmaag) wrote :

Denis, how much of a problem would this ambiguity be, really? I am asking because I don't have extensive experience with technical typesetting and programming where this potentially could be an issue. But, in technical works, would you not use the actual greek/math letters to signify the appropriate expression?

In normal text typesetting the similarity off an i-acute and the iota would not be a problem since you would not all of a sudden read a Greek letter in the midst latin.

Personally, I feel that options b, d and e are successful, and if this were a design for my own font library I would go with 'e'. The reason is that the stron serif helps to look these critical characters into the rest of the font; and the Italic I would furnish with the design in option 'd' to give textural difference and a reminiscance to the cursive style we see in the proportional font.

Bruno, for a monospace font you want every character to be as distinct
as possible from every other character - but not to the point of
unacceptability of letterform. In some cases we're going to be unable to
deliver differentiation simply because users of a script *expect*
characters to look absolutely identical.

You use a monospace font because you have to - because your task
requires that every character be correct. Being unable to tell that one
character has been substituted for another can lead to hours of frustration.

Dave

Paul,
The Ubuntu fonts will be extended to support those characters.
I'm just suggesting a design that will be problematic down the road
should not picked right now.
But if you have a solution to make sure i and ɩ look different enough,
that's fine.

On Sun, Dec 5, 2010 at 1:10 PM, Bruno Maag <email address hidden> wrote:
> Denis, how much of a problem would this ambiguity be, really? I am
> asking because I don't have extensive experience with technical
> typesetting and programming where this potentially could be an issue.
> But, in technical works, would you not use the actual greek/math letters
> to signify the appropriate expression?

This would render the Mono font useless in IPA notations, and in
languages using those characters.
U+0269 is used in several languages, some use accents to indicate
nasalization or tones.
I gave the "pí" and "pɩ́" example, that's valid in IPA.
Latin iota is used in Kassem for example, where it is sometimes with
an accent, see http://sil-burkina.org/files/webfm/Kassem/Kassem%20dictionnaire/lexicon/main.htm
where there's the word "dɩ́". People should be able to see it's not
"dí".

If a design that is not distinguishable is selected, an OpenType
'locl' feature would have to be there for those languages, and IPA (if
that's possible/supported).

> In normal text typesetting the similarity off an i-acute and the iota
> would not be a problem since you would not all of a sudden read a Greek
> letter in the midst latin.

Yes, that's fine, but I'm talking about Latin iota, U+0269 not U+03B9.

> Personally, I feel that options b, d and e are successful, and if this
> were a design for my own font library I would go with 'e'.  The reason
> is that the stron serif helps to look these critical characters into the
> rest of the font; and the Italic I would furnish with the design in
> option 'd' to give textural difference and a reminiscance to the cursive
> style we see in the proportional font.

I would also go for e, but a mix of b and d in Italic to avoid the i/ɩ issue.

On Sun, Dec 5, 2010 at 2:03 PM, Denis Jacquerye <email address hidden> wrote:
> This would render the Mono font useless in IPA notations, and in
> languages using those characters.
> U+0269 is used in several languages, some use accents to indicate
> nasalization or tones.
> I gave the "pí" and "pɩ́" example, that's valid in IPA.
> Latin iota is used in Kassem for example, where it is sometimes with
> an accent, see http://sil-burkina.org/files/webfm/Kassem/Kassem%20dictionnaire/lexicon/main.htm
> where there's the word "dɩ́". People should be able to see it's not
> "dí".

Actually, I was mistaken. This would not be a major issue in proper
IPA. The IPA symbol ɩ has been replaced by ɪ in 1989, so it is only
used in some IPA transcription.
However this remains an issue for languages like Kassem.

Mark Shuttleworth (sabdfl) wrote :

Denis, thanks for raising the corner case, we'll need to address it
(i.e. we will definitely differentiate the characters, even if
slightly). Nevertheless, it doesn't warrant compromising the broader
preference for the loop serif, which imo achieves the "connectedness" we
need in a mono, together with the lightness and flow of the regular
Ubuntu script.

Mark

Paul Sladen (sladen) wrote :

Paraphrasing Mark about following up after earlier comment #8: "half-serif is c, loop is d ... think d is the way to go with a couple of tweaks".

Paul Sladen (sladen) wrote :

As myself again: I've been running with 'd' and 'e' over the weekend plus either side of it, I'd like to reserve full judgement for a while longer, but people seem to be to keen to express feedback, so I'll try and give some early indications. Starting with the most painful/blunt feedback first: !

  For (e), worst (most off-putting) character is 'r'; too serify/symmetric/heavy/lost: see the word 'harmoney'
  For (d), worst (most off-putting) character is 'i'; has the slant of a backslash (\), is falling over to the left and kills the cadence: see the words "it" or "Pricing". I think it's just too short to support that amount of loop.

(e) is perhaps easier to read out-of-the-box because it's closer to what we currently ship, but I don't think it really progresses font development or takes it to interesting places. My suspicion is that (d) is actually better in the long run and if it wasn't for the distracting 'i' itself would be pretty much ready to go. Note that for (d) the loop on the bottom of the lowercase 'l' ell *does* work and fits perfectly, just not for 'i'. A possible solution would be to (just) replace the lowercase 'i' with the one from (b) to solve this. (d) is closer to the 'Ubuntu' feel of the main font, and things like the nice open 'r' and 'f' carry this continuity.

 * 'm' (em): The raised middle stem (bug #677112) on the 'm' fits with the rest of (d) really well from my using it, but could indeed do with being a notch more open (already requested per Mark).

 * 't' (tee): left-hand end of cut-line area looks too heavy - see the word 'applications'

 * '1' (one): needs more definition (bug #685380), perhaps a serif at the bottom, or more on the downward angle even.

All of the rest of my notes so far relate equally to both. So for the moment I can save those and file them separately, or in the longer-run as required.

Amelie Bonet (amelie) wrote :

Paul, Thank you for the feedback you are giving. What you explained and asked for is actually a closer version to (b) by taking bits from (d), (e) and Ubuntu Regular. I have quickly combined the different elements in a new font you can see in the attached document.

* The 'r' as well as the 'f' and 'i' lost their baseline serif to get closer to the Ubuntu Regular.
* The cross bar on the 'f' and 't' has been kept to fill-up the fixed width; note the left-hand side of the 't' has been shorten.
* The bottom loop of the Ubuntu Regular 'l' has been enlarged, again to fill up the allocated space (if you compare with (b) at the top of the post).
* The 'm' has also been slightly open, but not much space is left now.
* The '1' carries a slab serif and seems different enough from the 'l' now.

This new trial, called (from b), looks lighter without the slab serifs (as seen in version (d) but as a downside it turns to be less stable and steady). I feel (from b) could be a good alternate between a very steady monopsace font and the Ubuntu Regular. It answers the technical requirements of a monospace design and retains the Ubuntu touch.

George Ryan (george-ryan) wrote :

For what it's worth, I really like the version with Amelie's changes. :-)

Paul Sladen (sladen) wrote :

Amelie: Could you step back to the loop/(d) ish one that you supplied to Mark a couple of of weeks ago, and then with that one /only/ update the two changes that Mark picked up;

  1. the 'm' middle stem height (to alt5 level, bug #677112, per meeting of 2010-12-02)
  2. a bottom serif on the '1' (bug #685380, per Mark email of 2010-12-03)

Once we've got back to there we can look into anything else.

Amelie Bonet (amelie) wrote :

Paul, Mark, I stepped back to the (d) trial.
As requested I have added a slab serif on the figure '1' in order to differentiate it from 'l' which is right now loopy. Also, the middle stem of the 'm' is shorter as required. I have attached a pdf showing the new developments.

I believe we can now move forward from this current version (d).

Paul Sladen (sladen) on 2010-12-07
Changed in ubuntu-font-family:
importance: Low → High

I opened bug 692778 to differentiate U+0269 from U+0069 in Mono down the road.

JP (vectorpoem) wrote :

See this page for a bit of detail on what makes a good monospace font, and links to some good / interesting ones:

http://keithdevens.com/wiki/ProgrammerFonts

I haven't used this one personally as it's fairly expensive, but it looks top notch in every respect:

http://www.fsd.it/fonts/pragmatapro.htm

Dustin Kirkland  (kirkland) wrote :

Marking this bug "confirmed".

I'm trying the new Ubuntu Mono font, and I'm finding "i" and "l" too similar to discern.

I first started noticing it as I'm reading shell code with a lot of:
 if true;
   scooby doo
 else
   scrappy doo
 fi

The first few times I saw "fi", I thought it was "fl".

I don't know how to solve this, but perhaps a shorter serif on i, or more space between the dot and stem of the i might help.

Thanks.

Changed in ubuntu-font-family:
status: Incomplete → Confirmed
Dustin Kirkland  (kirkland) wrote :
Dustin Kirkland  (kirkland) wrote :

To clarify, the "i" alone is okay.

It's when the "i" follows the "f", and the serif of the i touches the f, its hard to tell the difference between "fl" and "fi".

Doki (lkishalmi) wrote :

Just to add my notes for "i". It's a bit too "dynamic" for a monospace font as it looks like as it would tumble down to left in any moment.

Paul Sladen (sladen) wrote :

Kirkland, Doki: So far, we've been asking people to do is to test the actual monospace beta fonts in their normal workflow for at least a week, in order to separate out "knee-jerk" reactions and hunches from actual real issues with the font itself.

Would both of you be able to do this and then see if it's still actually an issue that needs looking at in the longer-term? Doki, you're welcome to join the team and test the real fonts, at:

  https://launchpad.net/~ubuntu-typeface-interest/+join

There were lots of discussions around particularly the 'i' and 'm' about 9-12 months ago‒see comments above. It's true that many people immediately flag the 'i' up on their first day of looking at the font, or static samplers of the UbuntuBeta Mono, but very the long run, very few people have returned stating that it's critical issue; or even several cases where the original poster has come back to say that they actually like the 'i' over the longer term and have grown to love it.

(This is in contrast to, say the Serbian Cyrillic, where we do actually need to fix the /design/ of certain characters in order to be more in-line with everyday usage).

Paul Sladen (sladen) wrote :

Fix Released as the look of the Latin monospace has been stable for almost a year since this was being discussed.

The thing that I recall being left over was a design for the numeral '1' with a wider bottom serif than the present version to be closer to the numeral 2 and more distant from the lowercase 'l'. I have a feeling that a '1' with a wider baseline serif was drawn but not specifically taken any further.

Changed in ubuntu-font-family:
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers