From mboxrd@z Thu Jan 1 00:00:00 1970 To: 9fans@9fans.net Date: Thu, 13 Aug 2009 10:18:40 +0000 From: Paul Donnelly Message-ID: <87y6porpv2.fsf@plap.localdomain> Content-Type: text/plain; charset=us-ascii References: Subject: Re: [9fans] Using proportional fonts in Acme for Programming Topicbox-Message-UUID: 4589254c-ead5-11e9-9d60-3106f5b1d025 "Aaron W. Hsu" writes: > Secondly, if you do use proportional width fonts, why, and what > troubles did you encounter; what benefits did you encounter? You can't very well engage in weird formatting tricks, but I'm not much a fan of those anyway. IMO, the more attractive letters and generally lesser character width more than make up for the inability to precisely align columns that don't contain whitespace. I just use tabs to give myself a semantic clue. > Thirdly, would you continue using proportional width fonts in cases > like Lisp code, where you very often see something like the following > indentation scheme, No. Lisp indentation is hairy enough that I'd rather have the editor do it anyway (I'll take a structure editor too, if you please), so Acme is right out. Lisp code is so structurally complex that the indentation scheme I use in C doesn't work so well. I really want arguments to a function to begin at the same column, and for macro bodies to be indented by two characters precisely, so I don't get hopelessly lost. I just go on back to Emacs for Lisp coding. > and how would you resolve these indentation problems with proportional > width fonts if you did continue to use them? I'd make leading spaces inherit their width from the characters above. (let ((foo bar) (something else)) (some-func (called again) (with fun indentation) (and yet) (another))) So in this example, the first space on line two would have the width of "(", the second the width of an "l", and so on. But the space in "something else" uses whatever width is defined in the font, since spacing would get weird otherwise. You couldn't do (let ((foo bar) (something else)) ...) and expect proper alignment, but like I said, I don't like that trick anyway.