help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Using proportional (variable-width) fonts in Emacs23


From: rusi
Subject: Re: Using proportional (variable-width) fonts in Emacs23
Date: Wed, 30 Mar 2011 08:20:33 -0700 (PDT)
User-agent: G2/1.0

On Mar 30, 6:30 pm, "Pascal J. Bourguignon" <address@hidden>
wrote:
> Uday Reddy <address@hidden> writes:
> > On 3/30/2011 3:47 AM, rusi wrote:
>
> >> By reducing these questions to habits, the implication is that say for
> >> younger folk who only know 'modern' technology (like Word) things like
> >> emacs will be suboptimal and in fact make no sense.
>
> > No, I didn't imply that.  Monospace may be better for the younger folk
> > too.  Or, maybe it isn't.  They will have to try out for themselves
> > and figure out which works better.  I am afraid I don't have a theory
> > of monospace.  You are probably looking for one ;-)
>
> > On the other hand, the notion that proportional fonts are easier to
> > read will have plenty of takers.  So, everything Emacs can do to
> > support proportional fonts will be very welcome.
>
> Yes, for text.
>
> For programming languages, even if indentation is correctly impleented,
> the situation is more difficult.
>
> Program readability is often a 2D affair, where you want things to align
> in columns to stress on the homogeneity of the structures.
>
> For example, this first declaration block is more readable (use a
> non-proportional font to read my messages!):
>
>     var
>         m:              integer;
>         i:              integer;
>         color:          integer;
>         sizeOfTheBox:   cardinal;
>
> than this other one, where I simulate proportional font with a different
> number of spaces:
>
>     var
>         m:  integer
>         i: integer;
>         color: integer;
>         sizeOfTheBox: cardinal;
>
> Another example:
>
> This is less readable:
>
>     doSomething(object1,arg1,arg2forObject,arg3);
>     doSomething(o2,arg1,a2o2,arg3);
>
> than:
>
>     doSomething(object1,arg1,arg2forObject,arg3);
>     doSomething(o2,     arg1,a2o2,         arg3);
>
> because in the later we see immediately that only the first and third
> arguments change, while in the former, you need to parse it and give it
> more attention.


So far I am in full agreement


> Unfortunately, Editors with proportional fonts don't
> have indenting and formating algorithms sophisticated enough to render
> code like in the later example (that would require even more than
> understanding the program!).

Well that is (may be?) the current situation. Why cant it change?

>
> So proportional fonts are hoplessly useless for programming.

As of now -- yes.

In eclipse for example the file explorer window uses a narrow
proportional font which saves real estate.  Likewise a programmer
using emacs uses a number of readonly buffers eg compilation, messages
buffer etc.  All these could conserve real estate with a proportional
font.

>
> Now of course, emacs has a sizeable user community amongst the
> novelists and literature authors, not counting the technical writers
> editing software documentation, for whom proportional font support is
> nice.

Proportional font is good for everyone who has to read though the
details differ across genres and some problems are harder to solve
than others.

A particularly tricky problem is that two of the most popular
languages today -- python and haskell -- are space sensitive by
design.  Changing the number of spaces changes the meaning of the
program.  This makes a hard problem harder. Still, I dont believe its
unsolvable.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]