5 ms·
I like the idea. Some thoughts: - Center the code samples on the page. So that your not unintentionally one over the other due to differences in viewing angle
by asciimov 5y ago
I like the idea. Some thoughts:
- Center the code samples on the page. So that your not unintentionally one over the other due to differences in viewing angle and vision ability.
- Make all the fonts equal in height regardless of font point. Knee jerk reaction will be to go with the font that is closest to a persons normal preference.
- Hide Font names and size/points.
- Light theme and other color options.
- Other programming language options.
- jiI1l0O test. I like to see those characters that can often be too similar in shape shown together.
- Controversial, throw in some non mono-spaced fonts.
- hawkesnest 5y ago> jiI1l0O test. I like to see those characters that can often be too similar in shape shown together. This is a big one for me. None of the sample text had a capital O to compare to 0.
- captaincrisp 5y agoRecently I've noticed I have an issue distinguishing 8 from 0 with some dotted zero fonts. That'd be a nice one to see also.
- a_e_k 5y agoWhen I developed my own coding font (Luculent), the compact sample that I ultimately came up with was: // The five boxing wizards jump #include <stdio.h> // <= quickly. int main(int argc, char **argv) { float il1[]={1-2/3.4,5+6==7/8}; int OxFaced=0xBAD||"[{(CQUINE"; unsigned O0,l1,Z2,S5,G6,B8__XY; printf("@$Hamburgefo%c`",'\n'); return ~7&8^9?0:l1|!"j->k+=*w"; } It has a pangram, lots of confusable pairs of characters adjacent to each other, opening brackets next to each other and near a pipe character, quotes and commas next to each other, lining operators (i.e., ->, += and <=), and every normal punctuation character on a US keyboard. It also happens to be a valid, though useless, C or C++ program.
- Fwirt 5y agoThanks for the name drop! Luculent looks like a nice font that checks all the boxes. I'd like to see it added to this project as well.
- Osiris 5y agoInclude proportional fonts. I know I'm not the only one that uses one. Specially I use Input which has both mono and proportional versions and designed for programming.
- arnsholt 5y agoThere are dozens of us I tell you, dozens! In my case I saw the light after two years of programming in SmallTalk, where our dev images shipped with Cambria by default.
- Stratoscope 5y agoYou are not the only one. I've used proportional fonts exclusively for 10-15 years and will never go back to monospaced. In the past I used Verdana, Georgia, and Trebuchet MS. That last one may seem like an odd choice, but I really like the way it renders on a high-DPI display, with thick readable strokes and easily distinguished "confusable" characters. Trebuchet MS does have some flaws, so I started customizing it into what I call Trebuchet++. What got me started on this was the poor tilde in TMS. I swapped in a better one with FontForge, and then started experimenting with a few other things. One thing that bothered me in particular about proportional fonts is that the underscore character is so much wider than a period. This creates the wrong visual grouping in something like this: name_with_underscores.method_with_underscores() The default spacing causes "underscores.method" to be bound tighter visually than the individual names on each side. So I edited the underscore to add negative spacing while keeping the underscore itself fairly wide. And I added positive spacing around the period. This makes it more clear visually that "name_with_underscores" and "method_with_underscores" are individual names separated by the dot. The next tweak I plan on is adding some positive spacing after a "(" and before a ")" and similarly with [] and {}. It makes me sad that modern coding standards prohibit spaces inside (), [], and {}, even though it makes so much sense logically to have spaces inside them. If I can't fix my company's mandatory code formatter, at least with a proportional font I can adjust it to put just a bit of whitespace there.
- fire 5y agoDo you have the font or your modification scripts up on github?
- jordanpg 5y agoAlso consider hiding the font names. Too much bias from certain familiar keywords (JetBrains, IBM, courier, etc.).
- rbates 5y agoA couple more suggestions: - Option to lock scrolling so they both scroll at the same time. - Button to flip them in place to help see the differences.
- jcuenod 5y agoAlso samples with: - ligatures - italics
- elfchief 5y agoI came here to say exactly this. Ligatures make a -huge- difference to me, please offer some example text that makes use of them. Also, please make it an option to hide the font names so that it is a true blind comparison. Awesome idea, though!
- wentin 5y agoGreat idea! I took it and implemented it, now there is a toggle button to turn on “Blind Mode” Try it out!
- GordonS 5y agoAnother idea is to synchronise scrolling within the code samples, so if I scroll in one, the other automatically scrolls to the same line.
- layer8 5y ago- Add uppercase characters (lowerCamelCase, UpperCamelCase, ALL_CAPS). The sample code contains uppercase characters only in the font names. - Allow line-height adjustment. - Add Lucida Console (still my favorite coding font at 8 px cap height). :)
- fouc 5y ago> - Make all the fonts equal in height regardless of font point. I like the current scheme which keeps the line height or px equal I'm guessing. So this should be a toggle-able option. Another feature request: It'd be nice to compare the overall width of each font in terms of having 80 or 100 or 120 character limits on width. I'm always wondering what font is the best for viewing two files side-by-side on a 1280x800 display.
- wentin 5y agoI am going through the suggestion list and implementing them. The blind mode is just added!
- zem 5y agoi was pretty impressed that my final pair ended up being fira code and fira mono, so i tried switching my terminal font from bitstream vera sans mono. it looked markedly worse - i switched back within a couple of minutes. i think your point about the displayed text size affecting my judgement is spot on.