* sans-serif name change
@ 2008-06-25 1:06 Miles Bader
2008-06-25 9:22 ` Andreas Schwab
0 siblings, 1 reply; 15+ messages in thread
From: Miles Bader @ 2008-06-25 1:06 UTC (permalink / raw)
To: Andreas Schwab; +Cc: emacs-devel
Why the following change? At least according to debian's
font-infrastructure, "Sans-Serif" is the canonical name...
2008-06-25 Andreas Schwab <schwab@suse.de>
* faces.el (face-font-family-alternatives, variable-pitch): Use
"Sans Serif", not "Sans-Serif".
Thanks,
-Miles
--
Happiness, n. An agreeable sensation arising from contemplating the misery of
another.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: sans-serif name change
2008-06-25 1:06 sans-serif name change Miles Bader
@ 2008-06-25 9:22 ` Andreas Schwab
2008-06-25 9:32 ` Miles Bader
0 siblings, 1 reply; 15+ messages in thread
From: Andreas Schwab @ 2008-06-25 9:22 UTC (permalink / raw)
To: Miles Bader; +Cc: emacs-devel
Miles Bader <miles@gnu.org> writes:
> Why the following change? At least according to debian's
> font-infrastructure, "Sans-Serif" is the canonical name...
Have you tried it? Sans-Serif does not work.
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: sans-serif name change
2008-06-25 9:22 ` Andreas Schwab
@ 2008-06-25 9:32 ` Miles Bader
2008-06-25 9:45 ` Andreas Schwab
2008-06-25 10:10 ` Jason Rumney
0 siblings, 2 replies; 15+ messages in thread
From: Miles Bader @ 2008-06-25 9:32 UTC (permalink / raw)
To: Andreas Schwab; +Cc: emacs-devel
Andreas Schwab <schwab@suse.de> writes:
>> Why the following change? At least according to debian's
>> font-infrastructure, "Sans-Serif" is the canonical name...
>
> Have you tried it? Sans-Serif does not work.
I've just tried both, and see the following:
(set-frame-font "Sans-Serif-10")
works fine, but:
(set-face-attribute 'variable-pitch nil :family "Sans-Serif")
does not (it uses some random font instead); using "Sans Serif" does
work with set-face-attribute.
So it looks like there's a bug somewhere (but we should fix that, not
kludge around it).
-Miles
--
Yo mama's so fat when she gets on an elevator it HAS to go down.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: sans-serif name change
2008-06-25 9:32 ` Miles Bader
@ 2008-06-25 9:45 ` Andreas Schwab
2008-06-25 10:33 ` James Cloos
2008-06-25 13:19 ` Miles Bader
2008-06-25 10:10 ` Jason Rumney
1 sibling, 2 replies; 15+ messages in thread
From: Andreas Schwab @ 2008-06-25 9:45 UTC (permalink / raw)
To: Miles Bader; +Cc: emacs-devel
Miles Bader <miles.bader@necel.com> writes:
> So it looks like there's a bug somewhere (but we should fix that, not
> kludge around it).
Ypu cannot use a dash in a font name in XFT.
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: sans-serif name change
2008-06-25 9:32 ` Miles Bader
2008-06-25 9:45 ` Andreas Schwab
@ 2008-06-25 10:10 ` Jason Rumney
2008-06-25 11:36 ` Kenichi Handa
1 sibling, 1 reply; 15+ messages in thread
From: Jason Rumney @ 2008-06-25 10:10 UTC (permalink / raw)
To: Miles Bader; +Cc: Andreas Schwab, emacs-devel
Miles Bader wrote:
> (set-face-attribute 'variable-pitch nil :family "Sans-Serif")
>
> does not (it uses some random font instead); using "Sans Serif" does
> work with set-face-attribute.
>
> So it looks like there's a bug somewhere (but we should fix that, not
> kludge around it).
My guess is that the `-' in Sans-Serif is being treated as a separator
character, and causes Emacs to look for a font called Serif with the
foundry Sans, or something similar.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: sans-serif name change
2008-06-25 9:45 ` Andreas Schwab
@ 2008-06-25 10:33 ` James Cloos
2008-06-25 13:19 ` Miles Bader
1 sibling, 0 replies; 15+ messages in thread
From: James Cloos @ 2008-06-25 10:33 UTC (permalink / raw)
To: emacs-devel; +Cc: Andreas Schwab, Chong Yidong, Miles Bader
>>>>> "Andreas" == Andreas Schwab <schwab@suse.de> writes:
Andreas> You cannot use a dash in a font name in XFT.
Since I posted the note that Sans-Serif is the canonical name for the
fontconfig alias:
I forgot that point. Fontconfig backslash-escapes dashes in font names
in the output of command such as fc-cat, fc-list, fc-match. Using a
space, though, probably triggers the GTK fontname path.
So emacs should probably ignore that the canonical name is Sans-Serif
and go back to using Sans, in the hope that that alias will remain in
the shipped fontconfig configs.
Sorry for the time waste!
-JimC
--
James Cloos <cloos@jhcloos.com> OpenPGP: 1024D/ED7DAEA6
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: sans-serif name change
2008-06-25 10:10 ` Jason Rumney
@ 2008-06-25 11:36 ` Kenichi Handa
2008-06-25 14:00 ` Stefan Monnier
0 siblings, 1 reply; 15+ messages in thread
From: Kenichi Handa @ 2008-06-25 11:36 UTC (permalink / raw)
To: Jason Rumney; +Cc: schwab, emacs-devel, miles
In article <4862198F.4060305@gnu.org>, Jason Rumney <jasonr@gnu.org> writes:
> My guess is that the `-' in Sans-Serif is being treated as a separator
> character, and causes Emacs to look for a font called Serif with the
> foundry Sans, or something similar.
Yes. I didn't change that behaviour for backward
compatibility, but as face has the attribute :foundy now, it
may be ok to break that compatibility.
The parsing of XXX-YYY as FOUNDRY-FAMILY is now done in
the function set-face-attribute as this:
(if (and (eq (car args) :family)
(stringp (cadr args))
(string-match "\\([^-]*\\)-\\([^-]*\\)" (cadr args)))
(let ((foundry (match-string 1 (cadr args)))
(family (match-string 2 (cadr args))))
(internal-set-lisp-face-attribute face :foundry
(purecopy foundry)
where)
(internal-set-lisp-face-attribute face :family
(purecopy family)
where))
(internal-set-lisp-face-attribute face (car args)
(purecopy (cadr args))
where)))
---
Kenichi Handa
handa@ni.aist.go.jp
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: sans-serif name change
2008-06-25 9:45 ` Andreas Schwab
2008-06-25 10:33 ` James Cloos
@ 2008-06-25 13:19 ` Miles Bader
2008-06-25 13:26 ` Andreas Schwab
1 sibling, 1 reply; 15+ messages in thread
From: Miles Bader @ 2008-06-25 13:19 UTC (permalink / raw)
To: Andreas Schwab; +Cc: emacs-devel
Andreas Schwab <schwab@suse.de> writes:
>> So it looks like there's a bug somewhere (but we should fix that, not
>> kludge around it).
>
> Ypu cannot use a dash in a font name in XFT.
Eh? Clearly you can, as (1) `set-frame-font' works properly with
"Sans-Serif", and (2) `set-frame-attribute' works properly as well, once
the hack in the lisp code (of set-frame-attribute, which Kenichi
described) is removed.
-Miles
--
Monday, n. In Christian countries, the day after the baseball game.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: sans-serif name change
2008-06-25 13:19 ` Miles Bader
@ 2008-06-25 13:26 ` Andreas Schwab
2008-06-25 13:35 ` Miles Bader
0 siblings, 1 reply; 15+ messages in thread
From: Andreas Schwab @ 2008-06-25 13:26 UTC (permalink / raw)
To: Miles Bader; +Cc: emacs-devel
Miles Bader <miles@gnu.org> writes:
> Andreas Schwab <schwab@suse.de> writes:
>>> So it looks like there's a bug somewhere (but we should fix that, not
>>> kludge around it).
>>
>> Ypu cannot use a dash in a font name in XFT.
>
> Eh? Clearly you can,
Try xfd -fa "Sans-Serif-8" and compare that with xfd -fa "Sans Serif-8".
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: sans-serif name change
2008-06-25 13:26 ` Andreas Schwab
@ 2008-06-25 13:35 ` Miles Bader
2008-06-25 13:54 ` Andreas Schwab
0 siblings, 1 reply; 15+ messages in thread
From: Miles Bader @ 2008-06-25 13:35 UTC (permalink / raw)
To: Andreas Schwab; +Cc: emacs-devel
Andreas Schwab <schwab@suse.de> writes:
>>>> So it looks like there's a bug somewhere (but we should fix that, not
>>>> kludge around it).
>>>
>>> Ypu cannot use a dash in a font name in XFT.
>>
>> Eh? Clearly you can,
>
> Try xfd -fa "Sans-Serif-8" and compare that with xfd -fa "Sans Serif-8".
Those commands give different results.
However, in Emacs, they give the same result; try:
(set-frame-font "Sans Serif-8")
and:
(set-frame-font "Sans-Serif-8")
Result: same.
So the font-parser in xfd seems to be broken, whereas one in Emacs is
not.
Since we are discussing Emacs, there would seem to be no problem.
-Miles
--
Patience, n. A minor form of despair, disguised as a virtue.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: sans-serif name change
2008-06-25 13:35 ` Miles Bader
@ 2008-06-25 13:54 ` Andreas Schwab
0 siblings, 0 replies; 15+ messages in thread
From: Andreas Schwab @ 2008-06-25 13:54 UTC (permalink / raw)
To: Miles Bader; +Cc: emacs-devel
Miles Bader <miles@gnu.org> writes:
> Since we are discussing Emacs, there would seem to be no problem.
Since "Sans Serif" works everywhere (and all other frontends seem to be
using dash-less names) it should be preferred, IMHO.
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: sans-serif name change
2008-06-25 11:36 ` Kenichi Handa
@ 2008-06-25 14:00 ` Stefan Monnier
2008-06-27 7:21 ` Kenichi Handa
0 siblings, 1 reply; 15+ messages in thread
From: Stefan Monnier @ 2008-06-25 14:00 UTC (permalink / raw)
To: Kenichi Handa; +Cc: miles, schwab, emacs-devel, Jason Rumney
>> My guess is that the `-' in Sans-Serif is being treated as a separator
>> character, and causes Emacs to look for a font called Serif with the
>> foundry Sans, or something similar.
> Yes. I didn't change that behaviour for backward
> compatibility, but as face has the attribute :foundy now, it
> may be ok to break that compatibility.
> The parsing of XXX-YYY as FOUNDRY-FAMILY is now done in
> the function set-face-attribute as this:
> (if (and (eq (car args) :family)
> (stringp (cadr args))
> (string-match "\\([^-]*\\)-\\([^-]*\\)" (cadr args)))
> (let ((foundry (match-string 1 (cadr args)))
> (family (match-string 2 (cadr args))))
> (internal-set-lisp-face-attribute face :foundry
> (purecopy foundry)
> where)
> (internal-set-lisp-face-attribute face :family
> (purecopy family)
> where))
> (internal-set-lisp-face-attribute face (car args)
> (purecopy (cadr args))
> where)))
Maybe this "FOUNDRY-FAMILY" fallback code could be moved to the same
code that handles face-font-family-alternatives?
Stefan
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: sans-serif name change
2008-06-25 14:00 ` Stefan Monnier
@ 2008-06-27 7:21 ` Kenichi Handa
2008-06-27 7:49 ` Miles Bader
0 siblings, 1 reply; 15+ messages in thread
From: Kenichi Handa @ 2008-06-27 7:21 UTC (permalink / raw)
To: Stefan Monnier; +Cc: schwab, emacs-devel, jasonr, miles
In article <jwviqvxk4bq.fsf-monnier+emacs@gnu.org>, Stefan Monnier <monnier@iro.umontreal.ca> writes:
> > The parsing of XXX-YYY as FOUNDRY-FAMILY is now done in
> > the function set-face-attribute as this:
[...]
> Maybe this "FOUNDRY-FAMILY" fallback code could be moved to the same
> code that handles face-font-family-alternatives?
It can find a font of FOUNDRY and FAMILY, but face
attributes are not updated propery with that change, i.e.
(set-face-attribute 'variable-pitch nil :family "misc-fixed")
(face-attribute 'variable-pitch :family) => "misc-fixed"
(face-attribute 'variable-pitch :foundry) => unspecified
Currently, we have:
(set-face-attribute 'variable-pitch nil :family "misc-fixed")
(face-attribute 'variable-pitch :family) => "fixed"
(face-attribute 'variable-pitch :foundry) => "misc"
And, fontconfig requires `-' in a family name to be escaped
by `\':
% fc-list 'DV-TTSurekh'
% fc-list 'DV\-TTSurekh'
DV\-TTSurekh:style=Normal
So, how about using the same rule for Emacs?
(set-face-attribute 'variable-pitch nil :family "sans\\-serif")
---
Kenichi Handa
handa@ni.aist.go.jp
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: sans-serif name change
2008-06-27 7:21 ` Kenichi Handa
@ 2008-06-27 7:49 ` Miles Bader
2008-06-27 8:12 ` Kenichi Handa
0 siblings, 1 reply; 15+ messages in thread
From: Miles Bader @ 2008-06-27 7:49 UTC (permalink / raw)
To: Kenichi Handa; +Cc: schwab, jasonr, Stefan Monnier, emacs-devel
Kenichi Handa <handa@m17n.org> writes:
> And, fontconfig requires `-' in a family name to be escaped
> by `\':
..
> So, how about using the same rule for Emacs?
>
> (set-face-attribute 'variable-pitch nil :family "sans\\-serif")
But currently other places, such as `set-frame-font' seem to work
properly if passed "Sans-Serif" without escaping the "-". Perhaps some
part of emacs is already adding the backslash?
I think _if_ there are fonts with "-" in their name, requiring the dash
to be escaped will annoy and confuse users, and lead to bug reports.
I don't know how many such fonts there are, of course.
[I'd say just get rid of the old-style foundry-family names; do we
really care?]
-Miles
--
My books focus on timeless truths. -- Donald Knuth
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: sans-serif name change
2008-06-27 7:49 ` Miles Bader
@ 2008-06-27 8:12 ` Kenichi Handa
0 siblings, 0 replies; 15+ messages in thread
From: Kenichi Handa @ 2008-06-27 8:12 UTC (permalink / raw)
To: Miles Bader; +Cc: schwab, jasonr, monnier, emacs-devel
In article <buo7icb1fnp.fsf@dhapc248.dev.necel.com>, Miles Bader <miles.bader@necel.com> writes:
> Kenichi Handa <handa@m17n.org> writes:
> > And, fontconfig requires `-' in a family name to be escaped
> > by `\':
..
> > So, how about using the same rule for Emacs?
> >
> > (set-face-attribute 'variable-pitch nil :family "sans\\-serif")
> But currently other places, such as `set-frame-font' seem to work
> properly if passed "Sans-Serif" without escaping the "-". Perhaps some
> part of emacs is already adding the backslash?
No. In ftfont.c, these names:
"mono", "monospace", "sans-serif", "sans serif", "sans", "serif"
are specially recognized as generic family names. In
addition, fontconfig accepts the literal "sans-serif" when
used in the function FcPatternAddString (pat, FC_FAMILY, ...).
Fontconfig requires escaping only on parsing a font name,
and adds escaping on generating a font name.
> I think _if_ there are fonts with "-" in their name, requiring the dash
> to be escaped will annoy and confuse users, and lead to bug reports.
> I don't know how many such fonts there are, of course.
> [I'd say just get rid of the old-style foundry-family names; do we
> really care?]
As I wrote before, I tend to agree with breaking the
backward compatibility here.
---
Kenichi Handa
handa@ni.aist.go.jp
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2008-06-27 8:12 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-25 1:06 sans-serif name change Miles Bader
2008-06-25 9:22 ` Andreas Schwab
2008-06-25 9:32 ` Miles Bader
2008-06-25 9:45 ` Andreas Schwab
2008-06-25 10:33 ` James Cloos
2008-06-25 13:19 ` Miles Bader
2008-06-25 13:26 ` Andreas Schwab
2008-06-25 13:35 ` Miles Bader
2008-06-25 13:54 ` Andreas Schwab
2008-06-25 10:10 ` Jason Rumney
2008-06-25 11:36 ` Kenichi Handa
2008-06-25 14:00 ` Stefan Monnier
2008-06-27 7:21 ` Kenichi Handa
2008-06-27 7:49 ` Miles Bader
2008-06-27 8:12 ` Kenichi Handa
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.