Go fonts
blog.golang.org
blog.golang.org
I don't see an advantage over using native system fonts. As far as I know you don't need a license to use fonts installed on the system running the application. Why does the font need to be bundled? The wide spread adoption of this is going to make go programs stick out like a sore thumb.
To expand on your point.
What about the combination of fonts and UI elements I've chosen for my desktop environment. Will this new UI toolkit ignore those choices I've made and stick to using their own font?
It's bad enough already, for example on linux, where there are already two incompatible UI toolkits being used for the majority of applications, GTK and Qt. It's already difficult enough getting a consistent UI for applications that use both.
As touched on in the article, you need a standardized font you have control over for automated testing, to make sure you're getting reproducible results. OS fonts are too inconsistent for that.
Now, why they couldn't use any of the literally hundreds of other open-source fonts instead that Google made…
As to other comments, mostly agreed on using system fonts.
Why? Just standardize the font when running in test mode. I expect system applications to use my system fonts.
It isn't a user demand, it doesn't put any pressure on support, frankly I have no idea what these people who spread all this custom drawn vs native control polemic were thinking.
Also, if you are making money, who cares if you drew some of your controls on a canvas instead of trying to goad some restricted native elements into acting and drawing like you want them to?
Because now your app will break in HiDPI, for screen readers, automation tools, the next version of Unicode. Expected behavior like tabbing, keyboard shortcuts, system spell-checking breaks.
I can't speak for Firemonkey specifically, but a lot of cross-platform toolkits of its ilk have horrible problems when rendered on 4K displays.
Maybe you want that, as an app developer, but as a user I'd really like it if you'd stop, and I'm happy when the platform makes this sort of thing difficult.
No, they just busily work X hours and go home. They only care about getting their job done and if that means getting used to the interface they do so. We actually have users who've been around for about 20 years and you should see how fast they can enter some of the stuff.
The monospaced example reminds me of TeX-produced CS papers at first glance. I'll have to give it some time.
Also I find the hyphen surprisingly wide (in the proportional version). In fact so wide that I keep thinking it's an en–dash and it reduces my reading speed: my brain has to slow down and mentally correct it to hyphen.
So did I! At first I thought that they had inserted en-dashes by some mistake.
The proportional one is ok but it can't be used for programming. In part because of the reasons you gave but especially because there is almost no gap between the two = characters in == and @ is almost superscripted, which looks wierd.
I'm going back to Sans Regular (whatever it is on Ubuntu). It has its own problems (I and l look the same) but it's still better.
That's not necessarily a bad thing. Instead of "old" you could call it "retro". But it definitely reminds me of the formatting of K&R, which makes sense as the Go team see themselves as the heirs of the K&R tradition.
I am really amused by this opening. I guess it is part of the culture to "recreate" something unnecessary and perhaps better when there is resource to spare.
for the end-user? nope, because this application doesn't look like the rest of their applications, and ignores their preferences.
for the developer? yes, because their application will look the same regardless of platform it's deployed on.
But as we've learned with Responsive Design, having a single "my way" of presenting an interface regardless of end-user preferences and device capabilities is a Bad Thing. Interfaces need to be configurable by the user not fixed by the designer.
I like the font, though. Makes my code look sexy, and that's hard to do ;)
Maybe they're comparing the rendering of the UI toolkit against reference bitmaps, so always need to use the same font, so want to distribute the font in the repository?
I have used many schematic editors and they all handle different font sizes correctly, even letting you choose different fonts and styles within the same document. It is not difficult to figure out how much space a piece of text takes up, and scale the other elements to fit.
If the actual connectivity of the parts in your schematic changes with font size, then I will quite frankly say "you're doing it wrong".
If Go maintainers decide to change the font metrics you will have the same problem. Distributing your own font (as you have mentioned) is the right way to go.
The Go fonts just don't look very good at all imho.
https://netbeans.org/images_www/screenshots/platform/jmonkey...
https://netbeans.org/images_www/screenshots/platform/nbAWSAd...
https://netbeans.org/images_www/screenshots/platform/lg_soft...
https://netbeans.org/images_www/screenshots/platform/GGSSEph...
https://netbeans.org/images_www/screenshots/platform/platypu...
https://netbeans.org/images_www/screenshots/platform/blueMar...
or the new Java crap like
http://fxexperience.com/wp-content/uploads/2011/05/Charts-Ba...
http://docs.oracle.com/javafx/2/best_practices/img/saleshist...
https://blog.idrsolutions.com/wp-content/uploads/2014/03/vie...
??
The newer bundled jvisualvm also looks fine: https://www.dropbox.com/s/549exowkau3ry3t/jvisualvm.png?dl=0
What I'm trying to say is, if this comes out of the box and works reliably, then it'll attract more developers given the other ease of deployment aspects of Go.
You mean apart from Tcl, Python, Java, Factor, just about every Smalltalk apart from GNU Smalltalk, Racket, possibly Ruby…
No, there really aren't that many. Even fewer that are "professionally" usable. (I am not committing to Go's toolkit joining that latter set as I've not yet seen or used it.)
I'll give it a red hot go and develop in it for a day, but those chunky slab serifs are much busier than the Menlo I've preferred since 2009.
Personally I use Lucida Grande for all my programming.
But as keeps getting said: it's about the licensing.
I still don't understand why they would have to license the Google fonts for testing and using them as standard fonts. EDIT: I just saw that Noto is available with an open license, just not the Go license. But I still think Google would relicense it to Go, seems like something Google would do in this case.
It's pretty hideous. The alphanumerics feel rather slapdash, like this whole thing was put together by the foundary on a Friday afternoon and made to meet the minimum requirements but without much love.
Yes! It really does: http://toastytech.com/guis/sv411boot.png
But I think it's mostly to do with the non-uniform line thickness (look at the asymmetry of the 'x').
To me it looks better than the SunOS font, but it certainly does resemble it. That's probably why it looks "old" to me, and not in a particularly nostalgic way. Then again, I didn't use Suns all that much.
Unfortunately, I don't see myself switching away from Menlo to Go Mono for a silly and purely aesthetic reason: 5 point raised baseline * . Yes, yes...I know that's how pretty much every font has done * since forever, but after working with the vertically centered, six-pointed * in Menlo (and SF Mono), it's hard to go back.
(* this is a comment *)
vertically centered. My usual choice is Fira Mono because it looks great and centers * vertically, though I would love a serif monospace font. Maybe Go Mono will be revised but I doubt it will be updated anytime soon.When you say "6 point" do you mean it's bigger than usual?
Is there a place to obtain SF Mono without an Apple Developer account if you don't happen to have a macOS installation handy?
By "6 point" I mean the character itself has 6 "arms", instead of the typical 5. For my taste, it makes the glyph feel more balanced.
There is this repo: https://github.com/hbin/top-programming-fonts . Unfortunately, I'm not familiar with the legality of obtaining Menlo without OS X/macOS. It is a variation on Bitstream Vera Sans, which is AFAIK Open Source, but I am completely ignorant when it comes to how licenses apply to fonts (as opposed to code).
As for SF Mono, that seems to be impossible to obtain even if* you have macOS and an Apple Developer account (only the UI fonts are available for download). I managed to dig them out of the Xcode application bundle and install them as system-wide fonts, but was greeted with a very scary warning stating that installing these fonts could destabilize my entire system (so far my OS is still running, though)...YMMV.
As these fonts are purportedly intended for testing purposes, presumably they will be included in the package. Adding additional licenses to the codebase complicates the usage. You might agree to the terms of the Go license, but not the Apache license, for instance.
Since this new font is licensed under the Go license, there is only one set of terms you need to agree to. This is a much better situation for many reasons.
Also, considering that Google owns Noto and has relicensed it in the recent past, it would probably be possible for them to ship it under the Go license too.
Not really if the additional licensed parts are tests. Most things don't ship their dependencies' tests in the final binary.
The monospace serif typeface has pleasant, natural thick-thin strokes, giving it a substantial, typewriter-y appearance instead of the weak lines in most monospace serif typefaces -- remember Courier New?
The monospaced font looks like an iteration on Luxi Mono [0], fixing some of the major issues (lowercase-ell vs. one, uppercase-o vs. zero).
The proportional font likewise looks very similar to Luxi Sans [1], the main differences I see being again the lowercase-ell and zero glyphs.
Do i need it? don't know. Will it be useful? might be.
I don't see any reason to complain. It's a completely free font people.
I see no downsides to this.
Don't like it? Don't need it? Move on with your life...
But seriously, it's of great benefit to Go programmers to have a font that shares the same license as Go itself. Most fonts are not so unencumbered.
As you can tell I think this is just a silly waste of time for a compiler. Non native applications are near universally ugly and poorly designed and adding a custom font is just another slap in the face.
False equivalences are fun. :-)
> As you can tell I think this is just a silly waste of time for a compiler.
But the people who did this have nothing to do with the compiler.
Has there been any thought into providing a variant with some? While I could see why some might be against them I think they're rather fun and can make code more readable.
[1] see for example https://github.com/tonsky/FiraCode
I use Fira Code for JS, HTML, and CSS and it's great. Very rarely to the extra fun ligatures get in the way, and when they are printed they look absolutely gorgeous. I wish all/most code samples in tutorials and articles were set in it so they would be a pleasure to read.
But these fonts left me scratching my head.
even this comment box respects Fira Code, see[1]
Although I could make a case for making :+ some sort of ligature that makes it obvious I just screwed up by holding SHIFT too long. :) You won't see it by scanning my code base, but I definitely type it a lot....
Screenshots: http://imgur.com/a/tiE76 first image is Pragmata second Go font, no contest for me.
The serifs are short enough that I couldn't see them all on my regular screen (particularly the right-hand serif on the lowercase 'w'). But on my phone I would be able to see it perfectly well. On a high-DPI screen, the text isn't blurry or anything. They didn't focus on the rendering at all it seems, but made their screenshots in high resolution.
But creating fonts for Go? That sounds like a solution in search of a problem.
Did anyone else try to use it in xterm or rxvt-unicode?
In xterm and Emacs the vertical spacing seems to be too small, making it look pressed together.
In rxvt-unicode the only problem is that the renderer displays it stretched horizontally like a short but wide block.
While you are at it, can you guys complete the APL symbols?
> Ironically, the Plan9 folk seem to shun TrueType in favor of bitmap fonts.
It's true Plan 9 uses bitmap fonts, but that's just how the technology was implemented (so you could use BitBlt, etc), there is no shunning of trye type fonts.
Ended up not checking, but coming across an article by Google on typography in general, part of their Material Design. https://material.google.com/style/typography.html#typography...
The monospace font reminds me of the generic "Asian product manual font" - although the individual shapes are slightly different, it has a similar feeling to MS Mincho:
http://lists.w3.org/Archives/Public/www-archive/2013Jul/att-...
I found the proportional font really hard to read.
It's not as if Google can't do good typography:
https://fonts.google.com/about
So this seems like a rather self-indulgent and not wholly successful side project.
My favourite example and what I use daily, Office Code Pro Light: https://raw.githubusercontent.com/sjrmanning/darkokai/screen...
Qt/C++ skills are both good to have anyway, so it won't be time wasted.
Rust not Go but same idea