GNU bug report logs - #12693
[cygwin] Setting fonts with non-ascii names throws error

Previous Next

Package: emacs;

Reported by: Kazuhiro Ito <kzhr <at> d1.dion.ne.jp>

Date: Sat, 20 Oct 2012 21:49:01 UTC

Severity: normal

Found in version 24.2.50

Full log


Message #35 received at 12693 <at> debbugs.gnu.org (full text, mbox):

From: Kazuhiro Ito <kzhr <at> d1.dion.ne.jp>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 12693 <at> debbugs.gnu.org
Subject: Re: bug#12693: [cygwin] Setting fonts with non-ascii names throws
 error quit
Date: Mon, 14 Sep 2020 17:40:18 +0900
> > When I run Emacs on Cygwin with the native Windows UI, I can't specify
> > font by non-ascii font name.  For example, the below code success on
> > precompiled binary on Windows (Japanese edition) but raises error on
> > Cygwin with the native Windows UI.
> >
> > (set-default-font "MS ゴシック-14")
> 
> This was seven years ago, and this function no longer exists, so
> obviously things have changed in this area.  Are you still seeing this
> bug in a recent version of Emacs?

Yes.

(set-frame-font "MS ゴシック-14") raises an error on Cygw32 build
but not on MinGW64 build.  x-select-font function returns encoded
string on Cygw32 build.  Let-binding locale-coding-system to the
correct codepage can avoid the problem.

;; Chose "MS ゴシック-14"
(x-select-font)

-> "\202l\202r \203S\203V\203b\203N-14"

(let ((locale-coding-system 'cp932))
  (x-select-font))

-> #("MS ゴシック-14" 0 10 (charset cp932-2-byte))

(set-frame-font "MS ゴシック-14")

-> error

(let ((locale-coding-system 'cp932))
  (set-frame-font "MS ゴシック-14"))

-> Frame font is changed.

-- 
Kazuhiro Ito




This bug report was last modified 4 years and 190 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.