Google Noto Fonts
google.com
google.com
</sarcasm> (Obviously I'm awed...)
Like how "literally" has come to represent the feeling of emphasis, and the association with the experience of one-upping other emphatic adjectives like "extremely."
In fact, this is the very mechanism by which language evolves.
http://english.blogoverflow.com/2012/10/prescriptivism-and-d...
I have to admit I thought the same as you until someone pointed this out.
Is this Pretentious Twaddlese for "stupid"?
https://en.wikipedia.org/wiki/Muphry%27s_law
"litterally" only has one t in it.
Yes, it does. There is no "right" in language use beyond communication with the target audience. What people understand a word to mean is all there is.
It's also important, when pretentiously namedropping a writer and bragging about how you actually read them (all to win a pointless internet argument about a throwaway 'sarcasm' tag) to actually know that writer's name.
Because his post could be read as sincere (unjustified) criticism of Google, he used the well-known internet convention of "/sarcasm" to avoid an unnecessary, off-topic sub-thread stemming from his post. How's that for irony.
However wouldn't you agree that what I would like, and what is considered generally polite in our culture are probably not always equal?
Btw, Stoppard also said "I was always looking for the entertainer in myself ... [but] it's really about human beings".
When I use a word,” Humpty Dumpty said, in rather a
scornful tone, “it means just what I choose it to mean
—neither more nor less.” “The question is,” said Alice,
“whether you can make words mean so many different
things.” “The question is,” said Humpty Dumpty, “which
is to be master—that’s all.”
-- LEWIS CARROLL (Charles L. Dodgson), Through the Looking-Glass, chapter 6, p. 205 (1934). First published in 1872.:D
There's another small word ("is") missing in your last sentence.
Call me old fashioned, but even small words matter. To quote Ernest Cline, "People who live in glass houses should shut the fuck up."
I apologize for the profanity, but it's just such a great quote, and so appropriate in this case.
It's arrogant to think that the language that we're speaking right now is the pinnacle of linguistic evolution and that it's only downhill from here.
Language has so much redundancy that a slightly different understanding of a single word in a sentence rarely is of any consequence.
If you knew the OP was more likely to feel insulted than to feel helped, that wouldn't have changed your action?
> Just to be clear, I quite liked Lister's [sic] note as well.
So yes.
Just FYI, you were humorless in your interpretation of his comment. Humorless is "unable to see humor in things when most others do."
Or like the way that some people, when confronted with the awsome ineffable magnitude of my sense of humour...
</Ironic_humor> ;-)
And now here's a font complete enough that perhaps I can find the right glyph to punctuate the idea. We need something with a bit more nuance than the interrobang, I think.
Full Definition of sarcasm 1: a sharp and often satirical or ironic utterance designed to cut or give pain
2 : a mode of satirical wit depending for its effect on bitter, caustic, and often ironic language that is usually directed against an individual
Nope your Ironic contains sarcasm.
edit: github page gives a glimpse in the header image: https://github.com/googlei18n/noto-source
UTF-8, UTF-16, etc. are just different encodings of the exact same Unicode space.
https://arxiv.org/pdf/1508.06576.pdf (See p. 5 for examples.)
Are there special optimizations implemented for different use cases as well, e.g. screen v. print and sub-varieties of each? Ten years ago with Vista, Microsoft Typography (https://www.microsoft.com/en-us/Typography/default.aspx) put out a family of typefaces--Cambria, Calibri, Consolas, etc.--which were optimized specifically for sub-pixel rendering on LCD screens while maintaining on-paper legibility. I'd be cool with Noto not having any such optimization in mind given that the stated objective appears to be to include every defined character, but I do wonder if it should happen eventually.
...or maybe not, who knows. Pixel densities now have approached ludicrous territories. It might just no longer matter at least when we're talking about optimizing for screens.
I still have it at home - really impressed me with the attention to detail and the self-styled publicity.
Currently unavailable. We don't know when or if this item will be back in stock.
Correction, you could buy a copy on Amazon...Own up! Who got the last one?!
https://developers.googleblog.com/2016/10/an-open-source-fon...
Wow. That's a lot of work.
a) What should we do next? Our cash is burning! Well, lets use countless human hours to make a beautiful font to make the world a better place!
b) How can we reach to more traffic that might be currently not visible to us? Well, maybe we should design a really beautiful font that everyone likes and host it in our server? Sounds like a plan, lets do it!
c) We're making products supporting an unprecedented amount of locales and there's no font family out that that covers them all and still looks consistent, we're going to have to make it ourselves. Hey, if we open it up then there will be even more international content out there to put AdSense on!
Even if this was remotely close to their goal, it still doesn't make sense. They already have Google Analytics on basically every website in existence. Investing millions of dollars in an extremely robust font to increase web tracking by 0.0000000001% seems like a terrible investment.
The font they created has nothing to do with tracking you, it just so happens that if hosted on Google Fonts they can also do that. But that's a feature of Google Fonts, not Noto.
The repository with the fonts and tools is here: https://github.com/google/fonts
What does using the Google Fonts API mean for the privacy of my users?
The Google Fonts API is designed to limit the collection, storage, and use of end-user data to what is needed to serve fonts efficiently.
Use of Google Fonts is unauthenticated. No cookies are sent by website visitors to the Google Fonts API. Requests to the Google Fonts API are made to resource-specific domains, such as fonts.googleapis.com or fonts.gstatic.com, so that your requests for fonts are separate from and do not contain any credentials you send to google.com while using other Google services that are authenticated, such as Gmail.
In order to serve fonts quickly and efficiently with the fewest requests, responses are cached by the browser to minimize round-trips to our servers.
>For the lazy, a snippet indicating that no such tracking occurs: Requests to the Google Fonts API are made to resource-specific domains, such as fonts.googleapis.com or fonts.gstatic.com, so that your requests for fonts are separate from and do not contain any credentials you send to google.com while using other Google services that are authenticated, such as Gmail.
That's not what the snippet says. It is a technical statement, not a privacy statement. It doesn't mean they can't track you, it means it's a tiny bit harder to track you. Nothing in there says "we don't cross-reference these data" or "these data aren't used for tracking purposes" or anything else. Just that your Google account information isn't sent to the font servers.
More relevantly, the Google Fonts privacy policy links to the general Google privacy policy, which doesn't have any special "if you're using Google Fonts we collect a whole lot less than this" subsection. They might be using the data. They might not be. They might not be using the data today but decide to start using it tomorrow.
Text is more easily consumed by Google services (Search, Now, etc.) than, e.g., graphical representations, and information is more likely to be stored in text if there are fonts that support presenting the information people want to communicate. Having a font family covering all world languages (and covering the full gamut of Unicode characters) increases the scope of information that can be effectively communicated via text.
The Noto family is an exception.
PS: I love Noto specifically for its Unicode support. I use it on my blog. It's also the default "serif" font on Chrome for Android (but not Chrome for Linux).
Its Usenet archives suffered from bitrot. Its RSS reader is no more.
http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=...
I18n on Android is seriously awful. For example, Android 5 shipped with an improperly escaped string in the French Canadian localization strings that would cause the phone to reboot in a loop if it was connected to a charger when opening the lockscreen. Even the latest Android version (Nougat) displays the battery as "24 % %" in the French localization, "Press power button twice for camera" has been translated to the near unreadable "App. 2x sur interr. pr activ. app. photo" (roughly "Prs pwr btn 2x fr cam.") and some of the localized strings are comically nonsensical.
If you expect the UI to be perfect in every language all the time, consider what you're actually asking.
(Standard disclaimer: I work at Google, but these views are my own, not Google's.)
Anytime you find yourself asking "why is big company X giving away Y for free?" the answer is usually that they're commoditizing their complements:
http://www.joelonsoftware.com/articles/StrategyLetterV.html
Virtually everything Google gives away for free follows this pattern.
I was happy when the script got included in Unicode 8.0 but if fonts don't support it, it's not much use.
That right there is probably the most important ingredient of many moonshot projects.
We had reported this to Google some months back but got no response.
https://fonts.google.com/specimen/Noto+Sans
Under the 'Styles' section, type:
`foo`
You'll see the first ` overlap the f.Now erase it all and type:
````
They all overlap each other and show up as just one `.Edit: from what it looks like, the problem is specific to the sans. I can't replicate it with the serif (https://fonts.google.com/specimen/Noto+Serif if anyone wants to try).
I'm using Chrome v53.0.2785.143m on Windows 7.
For example, the letters å, ø and æ are very common in Danish, so they have their own keys. The acute accent is sometimes used to mark stress, like é or ǿ, and this is done using a dead key -- it wouldn't make sense to have several keys just for this purpose.
- 'Dead' keys are keys used to modify the next character
- The backtick / grave key behaved as such on a typewriter
- ` + a = à
- Noto web fonts behave like this
- The latest Noto local fonts do not
- The expected modern behaviour in English is ` + a -> `a
- This is not necessarily the expected behaviour in other languages
Web font: http://i.imgur.com/TUKsIY4.png
See iverg's comment on the github issue: https://github.com/googlei18n/noto-fonts/issues/736
EDIT: To be clear, parent is technically correct. The problem is with the way "web fonts" is working, the actual 'font' is the same across both, just the web fonts are having fun.
But isn't it normally the operating system's responsibility to implement this, depending on the keyboard layout?
> But isn't it normally the operating system's
> responsibility to implement this
Presumably the font has backticks, but they're (poorly) implementing this method of accenting in the demo web app to allow people to search for accented characters?It looks like "web fonts" in general are poorly implemented. You can recreate the problem with just a text box and font styling CSS.
If you look at some of my other comments in this tree you will see screenshots of the same text box with and without the local fonts installed. Presumably when local fonts are installed the OS handles everything, without the browser and the noto-fonts definition file gets in the way.
Dear god why? They're Unicode fonts. There are perfectly good Unicode combining characters that can be used when this behavior is intended. Making non-combining characters behave like combining characters breaks all kinds of text.
Which language, for example?
I'm french, we have characters with grave accent ('à', 'è' and 'ù'), and we do not expect the "` + a = à" behavior, as for one language.
EDIT: we do expect that "^ + a = â", though, but that's an other thing, and we have actually two ^ keys, one for our behavior and one for the usual behavior.
With just two or three Western European languages to write in, you can easily have grave, acute and circumflex accents, umlauts, tildes, plus a couple one-off letters (like ß for German, ç for French, or å/æ for Scandinavian languages). Combining those with every vowel they can apply to grows too much for the poor Alt key.
The US-International layout runs into this problem. Since Alt + A = Á, if you want to type Ä or Å or Æ in a single keypress you have to use Alt + Q, W, or Z respectively, which is hardly intuitive. And if you want À or Ã, you're SOL.
Dead keys (also in the US-International layout) solve this problem. I know which keys make the tilde, umlaut, both types of accents, and circumflex. If I want the bare symbol (or a quote in the case of umlaut) I press spacebar after the symbol key, otherwise I press any applicable letter to output the modified version. For example, I'm pretty sure there's a key combination for ç, but I don't remember what it is (Alt + C is ©); however I did remember that I could type it as ' + c.
The other main solution is to have a hotkey for switching language layouts - typing in each language will be slightly faster, but when I tried it I frequently forgot which layout I was on and had to stop, delete my mangled output, switch language, and type again. I find dead keys much more friendly to muscle-memory.
That's fine for ò I guess, but then how do you type ô, ö and ó?
But as has been said elsewhere, this thread is confusing dead keys, which have nothing to do with fonts: typing the ^ key followed by the o key enters a single character ô, with combining characters where the character ̂ followed by the character o is rendered as ̂o (which should look the same as ô) (edit looks like this works fine on my fixed-width font when editing, but not so fine on the regular proportional font when displaying the comment, it's sadly quite usual for fonts to mishandle combining characters).
Here, the issue is that the standalone non-combining ` (as well as ´, ¨ and ¸) is handled by this font as if they were combining, thus doubly confusing users with dead-key keyboards.
I'm quite glad of that, actually, it would be really annoying if we had to keep using modifiers every two words. I know french people who use English keyboards, they just usually forget about accents totally instead of using dedicated modifiers.
'àquele' is the preposition 'a' + 'aquele'. Grave accents are only used to mark contractions such as this, and the circumflex and acute accents - which denote differences in vowel quality and stress - are much more common, which is why it makes perfect sense to prioritise ease of typing for those two over the grave accent.
It is probably easier for language that doesn't have multiple diacritics for the same letter.
In Poland we have only one such letter: z. The problem is solved by using 'x' for the other (less frequently used) diacritic type:
alt+z = ż
alt+x = ź
On Swedish keyboards, for example, "` + a = à"
The standard en_us linux config does [alt+\] [a] = à instead for example. (unless you choose a keyboard layout)
Local fonts package installed: http://i.imgur.com/ycRs3A0.png
No Local fonts package installed: http://i.imgur.com/TUKsIY4.png
It is the font package, look at iverg's comment on the github issue https://github.com/googlei18n/noto-fonts/issues/736
here are screenshots with local font installed http://i.imgur.com/ycRs3A0.png
and without local font http://i.imgur.com/TUKsIY4.png
EDIT: it goes deeper: https://news.ycombinator.com/item?id=12656642
The issue here is that the non-combining accent (as generated by many keyboard layouts, dead keys or not) is rendered by the font as if it were combining. All the other aspects are tangential.
You must not have local noto fonts installed for this to work.
http://codepen.io/anon/pen/dpdOzk
Using chromium we see that:
Inheriting the font means the "bug" doesn't affect you.
Adding a class with the font only affects textareas, not inputs.
Adding the font directly affects both.
Notably the google demonstration page has the rule:
html,input,textarea{font-family:'noto sans',arial,sans-serif}
this applies the noto bug directly to the input field.Edit: Thanks for the tips, I will look into those options :)
[0] http://thenewcode.com/878/Slash-Page-Load-Times-With-CSS-Fon...
There is a Subset Maker Tool[1] (in Japanese) that can do this. But you need to provide the list of characters you want to keep by yourself (searching for JIS第1第2水準漢字 usually helps).
If you do not want to do this by yourself, Google also provide a version of Noto Sans that has been stripped down to just JIS X 0208 subset in their Early Access program[1].
[1]: http://opentype.jp/subsetfontmk.htm
[2]: https://fonts.google.com/earlyaccess#Noto+Sans+Japanese
I tossed together an example several years ago:
http://chris.improbable.org/experiments/browser/webfonts/uni...
The combined example on http://chris.improbable.org/experiments/browser/webfonts/uni... has CSS which looks like this:
@font-face {
font-family: NotoSansCombined;
src: local("NotoSans"), local("Noto Sans"), url(NotoSans-Regular.woff) format("woff");
}
@font-face {
font-family: NotoSansCombined;
src: local("NotoSansArmenian"), local("Noto Sans Armenian"), url(NotoSansArmenian-Regular.woff) format("woff");
unicode-range: U+530-58F, U+FB13-FB17;
}
@font-face {
font-family: NotoSansCombined;
src: local("NotoSansBengali"), local("Noto Sans Bengali"), url(NotoSansBengali-Regular.woff) format("woff");
unicode-range: U+AD, U+D7, U+F7, U+964-965, U+981-983, U+985-98C, U+98F-990, U+993-9A8, U+9AA-9B0, U+9B2, U+9B6-9B9, U+9BC-9C4, U+9C7-9C8, U+9CB-9CE, U+9D7, U+9DC-9DD, U+9DF-9E3, U+9E6-9FB, U+200B-200D, U+2013-2014, U+2018-2019, U+201C-201D, U+2026, U+20B9, U+2212, U+25CC;
}
@font-face {
font-family: NotoSansCombined;
src: local("NotoSansCherokee"), local("Noto Sans Cherokee"), url(NotoSansCherokee-Regular.woff) format("woff");
unicode-range: U+13A0-13F4;
}
In modern versions of Chrome, Firefox, and Safari you can see that only downloads a few of the many language files available. This also works really nicely with the traditional CSS font stacks if your design goals allow you to specify system fonts which will work for many users so you can have a few local fonts specified before the downloadable one.As an aside, I'd love to see something similar in a fixed-width font (where the asian block characters are double-width)
This is not surprising since the Chrome team is generally really aggressive about performance in general and they were quick to jump on this issue:
https://bugs.chromium.org/p/chromium/issues/detail?id=247920
On a related note, I've found the Chrome team to be really responsive about i18n as well – if you report something about even fairly obscure scripts not being supported, they usually respond rapidly. Quite pleasant to see.
Wikipedia disambiguation page: for "Tofu" mentions: Slang for the empty boxes shown in place of undisplayable code points in computer character encoding, a form of mojibake
"Tofu" is a more recent phenomena, that didn't really have a specific name until now: when there are Unicode code-points—correctly decoded—in a document, but you have no font installed that offers a glyph to represent them.
Mojibake results from "I did this wrong and didn't notice"; tofu results from "I know what this is, and it's something I don't have a visual signifier for."
Mind you, often mojibake will result in "tofu"; the garbage code-points you get from bad encoding detection will turn out to be ones that don't have a currently-defined Unicode character, so they'll show up as U+FFFD REPLACEMENT CHARACTER (�). But that's a coincidence, rather than an equivalence.
If you look at: https://noto-website.storage.googleapis.com/
You will see the following: <?xml version='1.0' encoding='UTF-8'?> <ListBucketResult xmlns='http://doc.s3.amazonaws.com/2006-03-01'> <Name>noto-website</Name> <Prefix></Prefix> <Marker></Marker> <NextMarker>emoji/emoji_u1f468_200d_1f468_200d_1f466_200d_1f466.png</NextMarker> <IsTruncated>true</IsTruncated> <Contents> <Key>css/emoji-zsye-color.css</Key> <Generation>1464738619772000</Generation> <MetaGeneration>1</MetaGeneration> <LastModified>2016-05-31T23:50:19.729Z</LastModified> <ETag>"e3aaae52d88ced070044f59d1efe2009"</ETag> <Size>152</Size> <Owner/> </Contents>
http://i.imgur.com/yLiWUGq.png
Are they using Amazon S3?
Edit:
They just changed it. @1:00 pm so it no longer mentions aws.
;; ANSWER SECTION:
noto-website.storage.googleapis.com. 3174 IN CNAME storage.l.googleusercontent.com.
storage.l.googleusercontent.com. 300 IN A 172.217.5.112
;; ANSWER SECTION:
112.5.217.172.in-addr.arpa. 86400 IN PTR sfo03s07-in-f16.1e100.net.
112.5.217.172.in-addr.arpa. 86400 IN PTR sfo03s07-in-f16.1e100.net.This particular API, the "XML" API, is designed to be API-compatible with S3. The XML namespace, 'http://doc.s3.amazonaws.com/2006-03-01', is therefore the same. This allows third party tools like 'boto' and the like which work with S3 to work with GCS with only a switch in hostname.
If you visit just "https://noto-website.storage.googleapis.com/", that's a request to list all of the objects in the bucket, so you'll see an XML document with that namespace and the results of a listing.
If you were trying to download a specific object from that bucket, you'd either see the resource itself, or you'd see an XML error result of some sort (404, 403, etc). So I assume that either you mistyped the object name once or else the object had been deleted for some reason.
Such an amazing project
Nofu would have been a better name if that's actually the goal.
With Noto's OFL licensing, I no longer had that worry.
GPL does not force you to licence your application under GPL.
Instead licensing your application under GPL allows you to use other GPL licensed code.
IE, use GPL code, license header all your own stuff as Apache, distribute the binary as GPL, but anyone else can use your own work under Apache if they want if you are individually licensing all your own files under it, they just could not use the GPL parts without also distributing under GPL.
It's a way to honor the GPL idea for the stuff you link to without having to follow GPL ideas for your new code.
If you wish to use GPL-licensed code, your code must be open source.
If your code is open source, you may use GPL-licensed code.
Both of your wordings are quite neutral, but this one contains in my opinion a quite strong negative element.
For me it was small, but important difference.
Instead, if they choose to adopt those conditions, they get free stuff from me (and a lot of other people.) In other words, it's an incentive program, not a requirement such as a law or regulation.
The GPL requires anything that "includes" it to be GPL compatible. The definition of "includes" that it uses is pretty "iffy" and could easily be extended to include the whole application if you aren't very careful.
OFL has no requirement like that, so you can use it freely in whatever project you want.
Otherwise, it's a nice looking font for the editor.
Are there any Unicode fonts at all for Tangut? I looked but didn't find any.
Some people snark at Unicode for putting so much more effort into emoji recently than they put into scripts used in actual languages, but y'know, when they add emoji, at least people design glyphs for them pretty quickly. When they do the research to designate codepoints for Anatolian hieroglyphs, the codepoints just sit there unloved and unsupported.
But this seems to be the current reality with enterprise firewalls. :-(
(No, TLS doesn't help in the long run. If your boss wants to know which pages you are reading he will let the experts setup this: https://www.howtoforge.com/filtering-https-traffic-with-squi...)
I'm just the victim. Whenever I suspect the firewall to be the cause of a problem I use a proxy via a ssh tunnel. As long as it's not forbidden for me to actually solve problems.
The list of software that isn't usable behind a WatchGuard firewall (and maybe similar enterprise firewalls) is getting longer and longer. No Google fonts, no Drupal, no ShopWare 5.2, JIRA barely usable, etc.
I am (primarily) a network engineer and such a list would be wonderful to have when recommending for or against specific products.
Edit: Using a script I made to check codepoint coverage[3] I get 63,639 codepoints with glyphs defined for all Noto fonts included in their default download (Noto-unhinted.zip).
[1] https://github.com/googlei18n/noto-fonts/issues/717#issuecom...
[2] https://en.wikipedia.org/wiki/CJK_Unified_Ideographs
[3] https://gist.githubusercontent.com/amake/53b2331a2547b94f430...
The table of that article is missing many useful columns.
[1]: https://en.wikipedia.org/wiki/Open-source_Unicode_typefaces
With Unicode, different alphabets use different codepoints and your trick won't work.
(unless of course it's a Buginese company)
And, if you check the languages for the full Noto font Klingon is listed so it should work.
I'm dealing with a media experience in Dakota and Ojibwa right now where we have source material that is spelled/character-ed quite differently than the alphabet provided by Noto in those languages. Given the scale of this project, I assume that some considerable thought went into each language's character set, but it's difficult to know for sure without any sourcing. The git commit logs don't offer up any hints. Anyone familiar with the project, know where I could find this sort of source information?
Should I be referencing something in the Unicode definitions for these languages?
I understand it covers a large part of Unicode, but if that is what makes it unique, couldn't Roboto just be extended?
I prefer the Noto Japanese typeface over the one that comes with Mac and would like to replace it.
Worth trying!
[1] http://osxdaily.com/2015/10/15/change-default-system-font-ma...
> What are hints
https://en.wikipedia.org/wiki/Font_hinting > I'm not sure which package to use for linux.
Ooh, yummy canned worms.http://michinarinukazawa.github.io/TofuFont/html/index_en_US...
Wait, does it have APL symbols?
Windows 10 reported an error:
"NotoColorEmoji.ttf is not a valid font file".
I couldn't find one linked from the article, but I found this while Googling: https://fonts.google.com/specimen/Noto+Sans
Package: fonts-noto
Repository: universe
To install (if you have the universe repository enabled): sudo apt-get update
sudo apt-get install fonts-notoIt's a variable-length encoding, and just so happens to correspond to ASCII for the first 127 characters. But if the leading bit of the byte is 1, it indicates that it's part of a multi-byte glyph. With the encoding, you can represent the entirety of the unicode space - The latter bytes start with 10 to indicate they're middle parts of the glyph, while the first byte uses 11 and continues to indicate how many bytes long the glpyh is.
As of utf-8 encoding... It is a variable encoding that is capable to encode any 32-bit number: from 0 to 0xFFFFFFFF. Not just current set of 21-bit unicode code points.
As of "... indicates that it's part of a multi-byte glyph." You are mixing completely different entities here. Unicode has nothing with glyphs.
Glyph is an atomic component (image) of internal font structure. Single character (unicode code point here) can be composed on screen from multiple glyphs.
You're thinking of an older version of UTF-8 which allowed sequences of up to 6 bytes to be used to encode a single code point. UTF-8 is now defined to not allow code point values above 0x10FFFF and not allow code point values between 0xD800 to 0xDFFF (inclusive) to allow only the same values as possible in UTF-16.
Yes, but no one said "UTF-8 code units space", and its pretty clearly that the "UTF-8 space" intended was the full space representable in UTF-8, not the space representable in a single UTF-8 code unit, so this is not only pedantic, but also a non-sequitur.
Not only that but the cache headers are set to 1 year... That's a pretty shitty tracking system if I've ever seen one.
edit: why the downvotes? They bring up tofu and then name the cure something close to natto, cured soy beans. And by cured, I mean fermented. And by fermented, I mean stringy at the molecular level, smells and tastes awful. And when I say awful, I mean, most of the people from the originating culture think it's awful.