Closed paulmcauley closed 7 years ago
sample text
<html lang="en">
<p><span style="font-size:48.0px">l|| (lowercase L) vertical bars</span></p>
</html>
I ran it with all LatinGreekCyrlic fonts in https://github.com/googlei18n/noto-fonts/tree/master/alpha/from-pipeline/unhinted + recent Roboto
I saw no confusion (the closest were Roboto's but they were still distinct).
en-821-NotoSans-Black.pdf en-821-NotoSans-Italic.pdf en-821-NotoSans-Regular.pdf en-821-NotoSansDisplay-Black.pdf en-821-NotoSansDisplay-Italic.pdf en-821-NotoSansDisplay-Regular.pdf en-821-NotoSansMono-Black.pdf en-821-NotoSansMono-Regular.pdf en-821-NotoSerif-Black.pdf en-821-NotoSerif-Italic.pdf en-821-NotoSerif-Regular.pdf en-821-NotoSerifDisplay-Black.pdf en-821-NotoSerifDisplay-Italic.pdf en-821-NotoSerifDisplay-Regular.pdf en-821-Roboto-Black.pdf en-821-Roboto-Italic.pdf en-821-Roboto-Regular.pdf
Forget that I mentioned the | or | vertical bars as that was only one tiny outlying example - the real problem is with l and I. The confusion isn't caused by the differences in one individual font, but by sans-serif fonts as a whole whereby l and I are rendered completely differently depending upon the font. The average person when reading text is used to seeing many different fonts in one day where l and I rendered in so many different ways that he does not know what way the current font renders the l or I and therefore one should leave no room for ambiguity in something as important as a prime user interface font -- neither l or I should be rendered as an ambiguous vertical bar. Because Noto renders l as a vertical bar it is an extremely poor and unclear font.
I find it extremely obnoxious that you have simply closed such an important issue without much consideration. Google should be creating leadership in making global communications more efficient, but it seems you are more concerned about form over function.
@paul4ig : thank you for the feedback. Please prepare a string of that would demonstrate it. I'll be glad to run through tests and publish the results. I closed the bug on the fact because I couldn't find any example in Noto font supporting your statement "the l (lowercase L) can also get confused with vertical bars | or | as well ". However, I'll be very happy :-) to test any other string that you might have and reconsider re-opening of the bug based on the facts. I'll do the legwork if you provide the string :-)
Hi Marek, thanks for replying again. I don't think you've understood the point I was trying to make so let me try to elaborate a bit. I find your testing methodology very flawed as it misunderstands human psychology. You are only testing the font against itself but a font does not exist in isolation and what you should be doing instead is comparing the font to all fonts the average person will view in one day. Your testing assumption would work if the only font the average person ever viewed was Noto Sans or if all other fonts rendered I and l in the same consistent way, but this is never going to be the case.
For example, other beautiful-but-flawed fonts like Source Sans Pro and DIN do the opposite to Noto and render the I as a vertical bar but have a tail on the l -- these are also bad designs because the average person will not know the details of the exact font they are viewing at any particular time. If one minute I am reading a block of text in Source Sans Pro and the next I read a block of text in Noto, how do I now know what is and I and what is an l unless I am a complete font nerd? If you want Noto to be the ultimate clear UI font then there should be absolutely no room for ambiguity. I should always have bars and l should always have a tail.
The only string you need is "Ill behaviour is caused by an AI called Al III commissioned by the little men from Illinois. I'll refer to them as the Illogical Illuminati." :) Even worse than a sentence like this are things like code-numbers whereby one does not know whether it is an I or an l unless one is familiar with the details of the font.
Updated my OP to make it clearer what I meant.
Just so you know, l with a tail would look like 0196 capital Latin iota Ɩ. It would make l and Ɩ confusable. Ɩ is used in West African language although is overall less frequent.
@moyogo Those are extremely rare edge cases and irrelevant the the overwhelming majority of the world's population using standard Latin script, including the lingua franca you are using to communicate now.
I can find no reference to where the "Latin Iota" is even used in a standard Latin script, classical or modern. It seems to just be a representation of the Greek, as Iota is commonly and originally a Greek letter, not Latin, and in Greek it is confusingly more commonly rendered like a capital I with bars. In fact the only reason this Latin Iota being originally rendered as such is to differentiate from I, and it makes no sense to give this priority when it is FAR more important to differentiate l from I. When I got a notification on my phone of your post this unused "Latin Iota" was even rendered on my phone as a mere vertical bar in Roboto, which only illustrates that confusion with this character already exists! (if anyone cares about it at all due to its extreme rarity).
The West African language you mention is spoken by a mere 1 million people and hence irrelevant to this greater issue too.
Those are extremely rare edge cases and irrelevant the the overwhelming majority of the world's population using standard Latin script, including the lingua franca you are using to communicate now.
I thought we were talking about “making global communications more efficient” (emphasis mine), but now it is more like “make it like I want, because that is the only thing that matters”.
@khaledhosny You are not making logical sense. The confusion between I and l occurs globally for all latin scripts used and understood by billions of people so is definitely a global issue and hardly a problem unique to myself. The character mentioned by @moyogo may be included in fonts but it isn't even used in a standard latin alphabet or that of any notable language (and that includes Latin itself, which isn't even a native tongue in any part of the world).
comment on the samples below: I still think there's a clear distinction in Noto between the characters in question based on the samples below. I would agree that Roboto's 'upper case i' and 'lower case L' are less distinct. However paul4ig already created a bug https://github.com/google/roboto/issues/226 to cover this.
sample text
<html lang="en">
<p><span style="font-size:24.0px">Ill behaviour is caused by an AI called Al III commissioned by the little men in the Illogical Illuminati</span></p>
<p><span style="font-size:24.0px">aR65Hus0lfG3</span></p>
<p><span style="font-size:24.0px">Illinois</span></p>
</html>
en-821-sentence-Roboto-Regular en-821-sentence-Roboto-Italic en-821-sentence-Roboto-Black en-821-sentence-NotoSans-Black en-821-sentence-NotoSans-Italic en-821-sentence-NotoSans-Regular en-821-sentence-NotoSansDisplay-Black en-821-sentence-NotoSansDisplay-Italic en-821-sentence-NotoSansMono-Black en-821-sentence-NotoSansMono-Regular en-821-sentence-NotoSerif-Black en-821-sentence-NotoSerif-Italic en-821-sentence-NotoSerif-Regular en-821-sentence-NotoSerifDisplay-Black en-821-sentence-NotoSerifDisplay-Italic en-821-sentence-NotoSerifDisplay-Regular
of any notable language
Right, because it is only a notable language when you care about it, it is not like anything else matters or something.
@khaledhosny Again, no logic at all in your comment. Notability is determined by usage. You design for the greatest benefit to the most number of people.
Global indeed.
@moyogo
Just so you know, l with a tail would look like 0196 capital Latin iota Ɩ. It would make l and Ɩ confusable. Ɩ is used in West African language although is overall less frequent.
If "0196 capital Latin iota Ɩ" looks like a sans-serif lower case Latin L, it is just another example for the bad design of Noto regarding ambiguity.
Is there a reason why capital I and lowercase l in Noto Sans and Noto Sans CJK differ?
In Noto Sans, capital I has horizontal lines, in Noto Sans CJK it does not. In Noto Sans, lowercase l has no tail, in Noto Sans CJK it does.
I feel they each are imperfect, inconsistent with each other and as the issue requester has suggested, they should better disambiguate the letter-forms for better accessibility and to help those with reading disabilities.
In Noto Sans, capital I has horizontal lines, in Noto Sans CJK it does not.
that would mean in CJK ambiguous*, solution: change in CJK to the form in LGC (Latin Greek Cyrillic)
In Noto Sans, lowercase l has no tail, in Noto Sans CJK it does.
that would mean in LGC ambiguous*, solution: change in LGC to the form in CJK
)* paul4ig "a font does not exist in isolation" + https://github.com/googlefonts/noto-fonts/issues/821#issuecomment-270526012
Noto Sans and Noto Sans CJK are completely unrelated designs.
Noto Sans CJK is a friendly fork of Source Han Sans, developed entirely by Adobe, and its non-CJK glyphs are from Source Sans Pro by Paul Hunt.
Noto Sans is an evolution of Open Sans and Droid Sans, made at Monotype by Steve Matteson.
That's why they're different.
I have not yet proposed, but probably should, a new OT standardized feature “Legible forms” that would allow designers add disambiguated glyph forms to fonts in a disambiguated manner. I recently added “legible” forms of I and l to Lato as a stylistic set, upon request from some users. Admittedly, those users have refrained from verbal abuse when they requested the addition.
Downvote for
Admittedly, those users have refrained from verbal abuse when they requested the addition.
Noto Sans and Noto Sans CJK are completely unrelated designs.
Then it is a bug that they are shared as if they were not, e.g. share "Noto" in the name and included in https://www.google.com/get/noto/
@marekjez86
I still think there's a clear distinction in Noto between the characters in question based on the samples below.
This does not address the issue.
Did you read paul4ig's "a font does not exist in isolation" + https://github.com/googlefonts/noto-fonts/issues/821#issuecomment-270526012 ?
I have not yet proposed, but probably should, a new OT standardized feature “Legible forms” that would allow designers add disambiguated glyph forms to fonts in a disambiguated manner. I recently added “legible” forms of I and l to Lato as a stylistic set, upon request from some users. Admittedly, those users have refrained from verbal abuse when they requested the addition.
Sorry for the hate you are getting. Typeface design seems like a weird hill for people to die on. For what it's worth, I do politely upvote your Legible forms feature and happy to help if I can albeit outside my expertise. Cheers :)
I work for a software vendor in my day job, so I know clients' frustration. :) Typeface design is rather chill in that regard. The tone in this thread is a rare exception. I get the OP's disappointment — which led me to opening the issue https://github.com/OpenType/opentype-layout/issues/15
But users of fonts sometimes aren't fully aware of the repercussions of their suggestions. A curly "l" may be OK for an isolated legibility improvement, but it actually poorly affects continuous reading. Such small details in a sanserif design start to stand out when you see them every time. This isn't "formalism over functionalism" at all.
So I'd never advise the Noto team to request a design change to make the default l curly. But having such forms accessible through a discretionary OpenType feature, like for ligatures, small caps or swashes, would be useful.
Noto Sans and Noto Sans CJK are completely unrelated designs.
Then it is a bug that they are shared as if they were not, e.g. share "Noto" in the name and included in https://www.google.com/get/noto/
Noto Sans CJK and Noto Serif CJK, as the name suggests, are intended for typesetting of Chinese, Japanese and Korean. All CJK fonts include glyphs for Latin characters (“romaji”) for use in, primarily, Chinese and Japanese. These glyphs follow design rules established by the CJK typesetting practice. They are not the same as Latin used for European or African languages. In fact, they usually are quite different.
“Global typography” does not mean that everything should look the same. The modern approach to text internationalization includes the respect for local typesetting, typographic and orthographic traditions. This includes the respect for formal variation specific to various languages.
The Noto project is a massive effort that involves hundreds of designers working over years. It’s the first such project in the world, and by a long shot the most ambitious one. It probably isn’t perfect — but is the best the world has had to offer since the invention of writing.
If it isn’t suitable for your needs, or isn’t to your liking, you’re free to use something else.
In addition — type design is a balance between disambiguation and harmonization. If you disambiguate everything from everything strongly, everything becomes exaggerated inna grotesque way.
The forms then lose their harmony and consistency, which is essential for continuous reading. That’s not poor design, that’s good design.
So, no, I don’t consider the fact that the romaji in Noto Sans CJK are different from the Latin characters designed for mainly European and African languages, which are part of Noto Sans. The letters in those fonts are meant to be used in different contexts.
Noto is designed primarily for text reading.
It’s not a font for passwords or license plates. It does not replace typefaces designed for other specific purposes, and it’s not a font family for all needs. It’s just a font family, one of many thousands that exist — just an incredibly ambitious one.
But if it’s not right for you, there’s thousands of others.
Finally: once a typeface has been established as strongly as Noto, changing its core ingredients, a letter as common as “l” should not be done. Many documents have been created with Noto. Millions of people have downloaded and used the font family. Many choose it because they liked it. Many rely that the font has stable character widths. Making the “l” curly would change the appearance of existing texts, and would make them run wider, because the character world have to be wider. That could ruin the work of many people who rely on Noto being the design it is. Fixing technical or orthographic bugs is a good idea — but changing the design is not.
However, Noto is available under an opensource license. You can take it, modify it, set up a website where you can offer the modified version. You need to do it in accordance with the terms of the license — but there is nothing to stop you from doing it.
In addition — type design is a balance between disambiguation and harmonization. If you disambiguate everything from everything strongly, everything becomes exaggerated inna grotesque way.
That is offtopic, the issue wasn't about "disambiguate everything from everything strongly", but about disambiguate each ASCII char from another.
But if it’s not right for you, there’s thousands of others.
This is offtopic. The issue is about Noto not about people.
Finally: once a typeface has been established as strongly as Noto, changing its core ingredients, a letter as common as “l” should not be done. Many documents have been created with Noto. Millions of people have downloaded and used the font family. Many choose it because they liked it.
How has "many" been calculated?
Many rely that the font has stable character widths.
How has "many" been calculated?
However, Noto is available under an opensource license. You can take it, modify it, set up a website where you can offer the modified version. You need to do it in accordance with the terms of the license — but there is nothing to stop you from doing it.
This is offtopic, the issue is about Noto not about people.
So, no, I don’t consider the fact that the romaji in Noto Sans CJK are different from the Latin characters designed for mainly European and African languages, which are part of Noto Sans. The letters in those fonts are meant to be used in different contexts.
This is all I don't agree on. The difference between Noto Sans CJK and LGC poses extreme difficulties in mixed typesetting.
In addition — type design is a balance between disambiguation and harmonization. If you disambiguate everything from everything strongly, everything becomes exaggerated inna grotesque way.
That is offtopic, the issue wasn't about "disambiguate everything from everything strongly", but about disambiguate each ASCII char from another.
But if it’s not right for you, there’s thousands of others.
This is offtopic. The issue is about Noto not about people.
The targeted use case of this font is text, so not disambiguating each ASCII character doesn't constitute an issue.
The targeted use case of this font is text, so not disambiguating each ASCII character doesn't constitute an issue.
Where is the proof?
It is good that, unlike some fonts, in Noto I (uppercase i) and l (lowercase L) are distinct, however, a font does not exist in isolation and it is still confusing because the average person views many different fonts in one day and does not necessarily know the details of the font he/she is viewing at the present time and when he sees an l in Noto he does not necessarily know that it is a lowercase L. The l (lowercase L) can also get confused with vertical bars | or | as well as numerous other unicode characters. Think of the $billions wasted in global human effort due to all this confusion due to pathetic form-over-function font design that dominates. If you want to create the ultimate clear and functional font then please also add a small tail to the l (lowercase L).