Subject: Re: bug#17813: 24.3.91; bad linum display with `text-scale-adjust'

From: Stefan Monnier <[email-masked]>
Date: Fri, 20 Jun 2014 09:35:32 -0400

>> I think the right solution is to scale the margin width by the ratio
>> "linum font size / base font size".  Then users can set their `linum'
>> face the way want and choose between (1) and (2).
>> But it turns out that face-attribute can't be used for that because it
>> does not pay attention to face-remapping-alist.
> Not sure what you mean by that: attributes don't care about remapping,
> because remapping doesn't change the attributes, it only changes their
> values.

I mean the following:

 a way to know "if I apply face `foo' (and only face `foo') to a chunk
 of text in the current buffer, what will it look like: will it be bold?
 what will be its size? ..."

`face-attribute' doesn't work here because it fails to take into account
the effect of face-remapping-alist.

>> Miles, Eli, others, do you know of a function that returns "the font
>> size, including face-remapping-alist effects"?
> I think you want
>   (aref (font-info (face-font 'default)) 2)

Indeed, that seems to work, thanks.

> But note that font's size and its "width" (which is actually the
> average width recorded in the font file) are not identical.  We don't
> have a Lisp API to get the average width of a non-default font;

Indeed, that's an additional problem.

> perhaps we should.

I'm all for it.

        Stefan