Hacker News new | comments | show | ask | jobs | submit login
Roboto: Google’s signature font is now open source (google-opensource.blogspot.com)
362 points by xPaw on May 26, 2015 | hide | past | web | favorite | 83 comments

Also worth take a look at the Roboto specimen booklet which presents the font in a better light than the Google Fonts website (PDF): http://material-design.storage.googleapis.com/publish/materi...

Neither the announcement or the git repo even have an example of what the font looks like. It is like announcing a new copy of the Mona Lisa not having a picture of it.

Nor did they have a link to simply download the font files. You can do that here: https://www.google.com/fonts#UsePlace:use/Collection:Roboto

They linked to the github repo linked in the first line of the announcement, you'll find the font files (ttf) in the 'hinted' directory.


As someone who doesn't know a whole lot about fonts, but who is interested in a decent font being made open source, I would never think to look in the "hinted" directory.

Out of interest, why is it called "hinted" and not "example" or something? I'm guessing it's font lingo?

Yes it's font lingo for sure :)

Basically for fonts to look good when placed on a square grid (pixels) there is a method called hinting which as the name implies gives hints to the font renderer on how the fonts should be drawn across this grid in order to best preserve the intended look of the font and be readable, this has the greatest impact when you are using a very limited size grid such as in small font sizes.

As someone who has ADD: yes, font lingo. It has to do with render alignment and the fact that pixels aren't round. It is amazing the level of complexity underlying font rendering, look at the internals for lcd filter weights some time.


Agreed, that was bothersome.

Here's the font: https://www.google.com/fonts/specimen/Roboto

Wow, look at the stats on that font - https://www.google.com/fonts/specimen/Roboto#stats - 9,979,683,779 is a lot of views in one week.

They say they keep updating it, which kind of makes me wonder what the best way is to keep up to date with the newest versions. Is there an automated way to do that? I don't like to manually check every other month if a font has a new version, and cloning the repo seems overkill if all I want is the output.

Oh wow, they got rid of the Helvetica-style R entirely. Good riddance, that's my least favorite thing about Helvetica.

I really appreciated they decided to blow away all the Helvetica characteristics and go straight for an inspired variation of Akzidenz-Grotesk. It looks great on print!

It's really come a long way since launch.


Kudos to Stephen Coles for keeping that article updated as the font has evolved and improved.

The K's with the flat middle were horrible. Interesting that they were the only characters poached from Ronnia and now replaced with something more familar.

You can use Monotype Skyfonts, which has a free service for downloading and syncing the Google Fonts collection:


Thanks for the tip! Too bad that I run Ubuntu, not Windows or OSX. I'll keep it bookmarked in case I ever switch again though :)

Install typecatcher from the archive, it's a graphical program that will let you fetch and install google fonts. It has previews and so on, nice app.

You say in another comment that you use Ubuntu. With Arch I'd make my own package to manage this, if one didn't exist. It's quite easy with Arch, but I'm not really sure whether that's the case with Ubuntu. I've definitely found packaging to be a skill worth having.

The second page spelling OCD... it is a freudian slip or it is an innocent confession?

If anyone here is from the google fonts website, theres a typo in this document:

"Bold 8.5/12pt Roboto supports 16 weights as well as advanced typographic features such as smallc aps"

Is the lighter or the darker blue outline the new one? I'm still at a loss to say which one looks better or why.

The darker blue outline (with the straight leg on the "R") is the newer one.

Dark blue is the new one.

Not that many people respect font licensing, but the Roboto font has been Apache licensed since it was released (like the rest of AOSP and fonts previous to Roboto in Android). Moving to a full open production and tool chain is interesting though.

Truly and the toolchain used in creating it is the bigger headline

It was always Apache, but having these source files makes a huge difference on the "open source" part of "free and open source".

"Free and Open Source Software" (often abbreviated F/OSS) doesn't refer to two different features "free" and "open source", it attempts to bridge two different communities preferred terms for licensing with essentially identical features, OSI's "Open Source" [0] and FSF's "Free Software" [1].

Being Apache licensed already handled both the "open source" [2] and "free software" [3] parts.

[0] http://opensource.org/osd-annotated

[1] http://www.gnu.org/philosophy/free-sw.en.html

[2] http://opensource.org/licenses/Apache-2.0

[3] http://www.gnu.org/licenses/license-list.en.html#apache2

Hmm... gnu.org is down for me and I can't actually check these articles to make sure I'm not imagining things, but I will link them anyway:



Probably you can understand simply by looking at the urls anyway ;-). To say that F/OSS doesn't refer to 2 different features, "free" and "open source", is to advance only one of the viewpoints from the 2 movements.

As much as it would be convenient if it were not the case, "free software" and "open source" software do, in fact, refer to different (although similar) things in many people's minds.

I am not the right person to explain the differences and if gnu.org were not down I would simply point you to the arguments that the FSF have against referring to free software as "open source". However, I will do my best to explain. Please verify what I'm about to say when you get the opportunity.

The intent of free software is to ensure that all users and programmers can deal with the software on a level playing field. By this I mean that one programmer can not use legal or technical mechanisms to have more capability than another. Everybody has the same access and ability to run the software for whatever purpose they want. They can inspect the source code in an un-obfuscated way. They can modify it in any way. They can distribute it, along with their modifications, to others. Most importantly, they can not do anything that will take away these abilities (either through legal or technical means) from others.

The licenses in the free software movement are a means to that end. The free software movement defines licenses that are free (in other words licenses which do not impose restrictions that would remove the level playing field). Some licenses, though, are free in and of themselves, but do not actually stop people from working in a non-freedom-oriented way (I'm sure I am not the only person frustrated that there is no antonym for "free software" -- all commonly used ones being deprecated by the FSF).

For example, there are many licenses which are free licenses but which allow people to leverage the code in software that is not free. This creates an un-level playing field because those people can build on top of the software, extending it in a way that only they can use and then compete against the original project without being free. In other words, if project A is free software licensed with a permissive license, someone can make A+ which is essentially A but with more features. They can release this under a non-free license, competing against A and taking mind share without giving people the freedom to modify or distribute A+.

For this reason, people in the free software movement prefer some free licenses over others. Their entire reason for having the licenses in the first place is to avoid the situation described above.

The open source movement is not as concerned about the issue described above. While they advocate nearly identical methods, their goal is to encourage licenses that allow people to interoperate smoothly if they choose to do so.

In the open source movement, it is unreasonable to prefer licences that enforce software freedom over other OSI software licenses. In fact, many people in the open source movement consider these kinds of licenses to be undesirable because it stops them from using F/OSS to build products that are not free software -- in other words, they are diametrically opposed to software freedom and only cooperate in a similar fashion when it is advantageous for them.

In my opinion, the term "Free and Open Source Software" is useful for discussing the very large amount of area where the free software movement and the open source movement overlap. It is important not to conflate the two movements, though, because whether or not you value software freedom there are many people who do.

In my own usage, I prefer to use the term free software when I think that the freedom aspect of it is important. I use F/OSS when I am just talking about interoperating with people using free software/OSI licenses. I use OSS when I am talking about leveraging F/OSS into software that is not free.

thank you! was just looking for a quick example and was surprised to not see it immediately/obviously linked.

That's the old Roboto, right?

So they'll just update it at some point and everyone who uses the old will automatically be using the new one?

Roboto is very nice and I use it a lot. Roboto Slab [0] is also good if you want a serif font instead.

[0] https://www.google.com/fonts/specimen/Roboto+Slab

I hope this is not a dumb question, but as I have no experience/knowledge in creating fonts, I will ask nevertheless.

I quickly scanned through the repo and assumed that the font is created programmatically through a Python script. Is that correct and a common way to build a new font?

The actual "Font" data lives in the `src/v2` directory. For example, open up "Roboto_Thin.ufo/glyphs" from here, and you'll see a lot of ".glyph" files. These are essentially SVG's it appears. The python script pulls this content together and generates appropriate font files (WOFF, TTF, etc).

Technically, they are GLIF files and not SVG. The GLIF format is specced here: http://unifiedfontobject.org/versions/ufo3/glif.html

Would love to find build/hacking instructions somewhere. I'm interested in modifying a font and adding ligatures for use my in my programming editor (as is done in https://github.com/i-tu/Hasklig/). The best I could find is https://github.com/mozilla/Fira/issues/62.

there's a LaTeX package (last version dating 2015-04-16) available [0] (with samples [1]):

This package provides LaTeX, pdfLaTeX, XeLaTeX and LuaLaTeX support for the Roboto, RobotoCondensed and RobotoSlab families of fonts, designed by Christian Robertson for Google

[0] https://www.ctan.org/tex-archive/fonts/roboto

[1] http://ctan.uib.no/fonts/roboto/doc/samples.pdf

I may be reading this wrong, but the only annoyance I would find with their toolchain is that it seems like their true source is the FontLab files which is not open source. The readme says that you should be able to edit the UFO files and generate the FontLab files from that, but it doesn't seem to be the process they are using. It would be nice for the UFO files to be the true source rather than a derived one.

Unfortunately, doing TrueType hinting more-or-less requires FontLab. There are other alternatives that are being developed, but by and large FontLab remains the industry tool for building TT-hints. Part of this talk by Tal Leming (https://vimeo.com/album/3329572/video/123781570#t=457s) explains some of the interchange issues with TT-hint formats. Long story short, everyone has a slightly different hinting compiler, and they're all proprietary.

Is there a font nerd here who can describe what makes Roboto unique?

I don't know specifics about this particular typeface (and I haven't been "into fonts" for a while), but Roboto is pretty much another typeface with some Grotesk (e.g. Helvetica) lineage. What can typically said about these sorts of new-fangled typefaces is that they're well-optimized for reading on screens and scale well to smaller sizes (that is to say, good for mobile). A simple example is that the x-height (i.e. the height the lowercase 'x', and thus roughly the height of most of the lowercase letters) is higher than a typeface made, say, sixty years ago. The x-height in this case looks to be about 70% - 75% the height of the capitals, which is pretty darned high.

Looks like the quick fox is no longer.

"Grumpy wizards make toxic brew for the evil Queen and Jack."


I can't tell what type of lower case 'g' i'm getting without looking deeper :(

Great, now we can have a monospace version for the terminal/editor.

I've been using Inconsolata (Consolas inspired) for a while now... but something closer to Roboto in terms of character coverage would be really nice.

Wish the Literata font from Play books would become available.


Has anyone tried to release an app into the iOS Appstore which uses this font? It looks great in my app and I'd like to know if there are going to be problems with Apple if I use this for an iOS/Android multi-platform app .. anyone know?

Unfortunately, since a week or so it's all over YouTube. Arial was much easier to read.

The thing most enjoyable about Roboto is how it's changes are a near perfect reflection of Google's design capability.

If it’s a “signature” font, isn’t it covered by trademark, and would this not make any copyright licence irrelevant?


Well alright then.

Hmm... What's up with this page?

"Bitdefender Antivirus Free Edition has blocked a page! Malware detected! Access to this page has been blocked."

Any idea what's in there tripping out Bitdefender?

The term "open source" only means that the source code is published; it says nothing about the license. Perhaps I'm nitpicking but the title of this post isn't very clear in my opinion.

The font is still very ugly though.

Shameless plug: Here's a poster I made recently using Roboto Slab:


Edit: Is it bad etiquette here at HN to do shameless plugs for the purpose of finding work?

I didn't downvote you, but this struck me as quite a bit more shameless than most of the shameless plugs here. :)

But the downvotes might have been worth it. I'm sure some people clicked through.

Thanks, I'll try and behave myself more :)

I think it'd go down better if there was more there. This is a more tech focused site than an arty site. If you'd drilled down the ins and outs of the tech behind the font (How to compile it from the source maybe?) it would probably have been better received

Also I read your poster as "When in doubt m,ove"

Thanks for the feedback. I'm working on an article on using the font and will try compiling it from source and include the information.

Regarding the poster, the placement of the comma is intentional to suggest both an 'l' and the 'm' jumping over it, although maybe you're right and it is too much.

Not necessarily, but see also the second last paragraph on https://news.ycombinator.com/newsguidelines.html

Got it — thanks!


" and then proceeded to not open source anything after 2011 or so."

Google has released literally 1000+ open source projects since then. These are just the ones that went through me in one way or another (IE that i have personal knowledge of).

So you may want to reevaluate your premise :)

You can't even argue "they didn't release anything major". You may be able to argue "they didn't release anything I personally care about"

I went to go reply to the typical "name a whatever that google has released as open source since then", but the person deleted their comment after two people already named some.

Here, i'll double the number:

GRPC Bazel LevelDB etc

There are 393 projects in the main google org on github since 2012. This doesn't count the ~55 other github orgs google owns, or the fact that at least triple that number were released on code.google.com in the same time period. If you can't find something that meets whatever criteria you want to lay out, not sure what to tell you.




Don't forget:

- Ceres (optimization library used for Street View alignment)

- Zopfli (zlib-compatible lossless compressor with better space efficiency)

- Kubernetes (cluster management framework based on Borg)

- Cayley (graph database)

- Gumbo (HTML5 parser in C)

- word2vec (NLP semantic analysis tool)

- FlatBuffers (memory-efficient alternative to protobuf)

all of which were released between 2012 and 2015.

"..and then proceeded to not open source anything after 2011 or so"

Really? I think they have a pretty good track on open sourcing libraries just as before. Like https://github.com/google and Go, Dart, Blink etc etc..


Open sourcing a product by definition is not smart. A product is a solution to a problem that is meant to be sold. A library is a tool that enables others to make their own product but open sourcing for example Gmail would be the dumbest thing Google could ever do.

Open sourcing Android is arguably what made Android thrive and was amongst the smartest things that Google ever did, otherwise phone makers and careers would have continued preferring something they can have some control over, like Symbian. It's also arguably why Windows Phone is for the time being dead, with Android and iOS having a staggering 96% of the market, as nobody wants another tightly controlled platform/OS, as iOS itself fulfills that role pretty well and you can't beat Apple at its own game.

I don't know which definition you're referring to, but it's contrary to basic microeconomics. Open-source often fulfills one of these roles: (1) needed substitutes to prevent a dangerous competitor from completely controlling the market (e.g. Android vs iOS), (2) complementary products that increase the desirability of something else (e.g. Google Search), or (3) decreasing the cost of development (e.g. your favorite open-source programming language).

Also, the value of Gmail is not in its source-code and has nothing to do with it.

Open sourcing android was the only option they had as 1)Google support is non existent and 2)they didn't have the hardware or physical distribution at the time and 3)Apple showed the world how mobile operating systems should be done and making their OS closed would be playing a game of metoo which wouldn't let them stand out in any way. Also Google doesn't have any business motive to make profit off android because their whole business model is about selling user data.

if gmails source code is not its value what is it? I'm pretty sure gmails ability to search and functionality are what make it stand out which is easily replicable by taking the source code. If the source code isn't valuable, you're saying it's the brand that's valuable because without the actual product the only thing left is the gmail brand.

Gmail's value is the service it provides, which relies just as much on the infrastructure as the source code.

Back to your original statement - would you consider Linus dumb for open sourcing Linux? Open sourcing a product can be a very smart move - it gives certainty of supply, and encourages other enthusiasts to share the building of it.

Back in the day, silicon chip makers would allow their competitors to make copies of their chips so that consumers would know that if either company went bust they still could procure the chips they needed to build their products. If Google kept Roboto (and other elements of Android) closed, mobile phone makers would worry that if Google turned evil they could be left with hardware with no operating system.

And by open sourcing Roboto, the world's font enthusiasts get to play with it. Roboto has already evolved considerably within Google, and it's likely that this process will be accelerated with a wider set of participants.

So Google wins because it gets a better font for Android, and it's phone makers are happier to use Android. Seems like a smart move to me...

AOSP is still open-source, it's what allows CyanogenMod to exist, it's what allows Replicant to exist, it's why Amazon could fork it for their Fire OS and in terms of user experience, compared with both iOS and Windows Phone, it's the mobile OS that allows for third-party app stores, or that allows alternatives for "system" functionality, like the browser or the search app being used. It's also the only mobile OS on top of which the Firefox browser runs, a browser that supports extensions, like AdBlock Plus. This font itself is part of AOSP and it's been open-source for some time, licensed under APL 2, just like most of AOSP. Chromium and Chromium OS are also open-source. We are talking about another operating system that has been a success.

Not to be harsh, but Microsoft hasn't open-sourced anything of this magnitude or importance. And don't get me wrong, I like the direction of .NET, however we've been having Java / the JVM, with all the great languages built on top, like Scala, Clojure, JRuby, Groovy, Kotlin, Ceylon and with all the great projects built on top, like Hadoop, Cassandra, Lucene, Apache Spark to name a few and Android uses Java-the-ecosystem as well, so we've been fine without it.

But on the other hand, here's me holding in my hand a Windows device received as a gift and I can't install apps from third-party sources, I can't use my IMAP email account, not to mention IMAP IDLE, I can't use CardDAV or CalDAV (because Microsoft insists on their own patented and expensive ActiveSync), I can't change the default search engine and I'm browsing through an app store filled with shit which is supposed to be curated. And from the looks of it, Microsoft's Edge only supports extensions installed from this same store filled with shit, it won't be open-source and it won't be cross platform. And I also remember a time when Microsoft sponsored SCO in its lawsuit for the ownership of Linux and when Scott Hanselman writes an ironic article that's somehow proof enough that Microsoft hasn't killed my pappy, he conveniently forgets that Microsoft acts like a patent troll by blackmailing Android phone makers with the FAT patent and extracting from this act of racketeering more profit than from its Windows phones.

And I'm becoming more and more negative on Microsoft, even though I want to like some of the things they do, but this is the reaction I'm having lately because I fail to see how Microsoft is changing, even though everybody says so - as frankly I smell nothing more than a massive PR push and it's pissing me off. And btw - I've ranted on Google and Apple countless of times, one of these days I'll write about why I've shut down my Google Apps account, my standards are pretty consistent across the board ;-)

Much of your criticism around Windows phone is false.

And yes there has been a PR push, but this has been accompanied by increasing amounts of new and previously closed tech being released, such as DNVM, Roselyn, VSCode, etc

While MS is by no means a shining angel, you should at least give them a chance to prove themselves under new leadership.

Also large parts of Cyanogen mod only exist because of the good grace of Google.

> I can't install apps from third-party sources


> I can't use my IMAP email account

http://www.windowsphone.com/en-us/how-to/wp8/email-and-calen... under "To enter email account settings manually (advanced)"

> I can't use CardDAV or CalDAV

Available in GDR2 (http://allaboutwindowsphone.com/features/item/17752_CalDAV_a...) and was available by hacking on older versions because CardDAV and CalDAV was only available for Gmail and iCloud accounts before (http://www.reddit.com/r/windowsphone/comments/23o89h/setting...)

> I can't change the default search engine


> I'm browsing through an app store filled with shit which is supposed to be curated.

Microsoft can't really put a gun to developers' heads and force them to write software for Windows Phone. If developers don't want to write non-shit software, then the store will only have shit software. There's only so much a company can do. iOS and Android app support is coming in Windows Mobile 10 (http://www.theverge.com/2015/4/29/8511439/microsoft-windows-...) with minimal changes necessary to get the apps working.

> And from the looks of it, Microsoft's Edge only supports extensions installed from this same store filled with shit, it won't be open-source and it won't be cross platform.

Wut? It supports Chrome and Firefox extensions (http://www.digitaltrends.com/computing/microsofts-new-browse...) and like Windows and Windows Phone itself, sideloading will probably be supported.

If you go bash a product, at least make sure your bashing is accurate.

> I can't install apps from third-party sources > http://www.windowsphone.com/en-us/how-to/wp8/apps/how-do-i-i....

That's a sleight of hand you're trying to do... the link explains how to load an app from an SD card, not how to load a 3rd party app (that is, an app someone else made and gave or sold to you independent of Microsoft). According to Microsoft[1]:

"To enable sideloading on a Windows 8.1 Enterprise and Windows 8 Enterprise computer that is not domain-joined or on any Windows 8.1 Pro or Windows 8 Pro computer or on a Windows RT device, you must use a sideloading product activation key. For more information about acquiring sideloading product activation keys, see Microsoft Volume Licensing"

So, true third party sideloading is limited to enterprises. Microsoft is just as bad as Apple in terms of controlling what the consumers do with their phones.

[1] http://blogs.technet.com/b/privatecloud/archive/2014/02/28/i...

You are talking about sideloading in Windows 8/RT, not Windows Phone 8.

You can also sideload third party apps without a sideloading activation key in Win8, it's how testing on devices is done. You get a developer certificate for yourself (completely free and one button press when you first try to sideload) and essentially self-sign the apps. It's not as simple as double clicking, but it's one Powershell command (Add-AppXPackage IIRC). It's much easier to sideload with the sideload activation key, yes, because sideloading as a whole seems to have been created for Enterprise App deployments, but it's fully possible without it. I believe the only restriction is you need to renew the developer certificate every few months.

>> I can't install apps from third-party sources

> http://www.windowsphone.com/en-us/how-to/wp8/apps/how-do-i-i...

As I understand it, all "sideloaded" apps still have to go through the Windows Store. If it doesn't map to a free or trial app in the Windows Store, it won't install.


If that's the case, then this is not installing apps from an independent source.

I believe it's similar to the Windows 8 sideloading process, which is that it has to be created by a developer and using a marketplace ID, but the app does not necessarily need to be published on the marketplace. Otherwise, you wouldn't be able to test your apps on real devices prior to releasing them in the wild.

I'm sure if you have a paid app and try to sideload it, you'll need to own it on the marketplace (otherwise piracy, etc), but for a free or unpublished app, I believe it should work fine.

That's true, since of course developers need to be able to test their own applications, but that's hardly comparable to letting ordinary users install third-party apps, as you can on desktop Linux/Mac/Windows and Android.

Except for Apple's higher developer fees, you might as well say that iOS allows sideloading, then.

If an ordinary WP user wants to install an app that hasn't been published, they're out of luck, whether or not they have an SD card.

The criticism was "I can't install apps from third party sources". There was never a requirement to make it particularly user friendly in the OP. If it's a Windows Store application, then XAP sideloading coincidentally is easy. If not, then it's still possible, even if it requires you to be more of a power user.

Good information

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact