GNU bug report logs - #4895
23.1; Incorrect font selected

Previous Next

Package: emacs;

Reported by: cmr.Pent <at> gmail.com

Date: Mon, 9 Nov 2009 19:25:05 UTC

Severity: normal

Merged with 4365, 11889

Found in version 23.4

Done: Juri Linkov <juri <at> jurta.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 4895 in the body.
You can then email your comments to 4895 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#4895; Package emacs. (Mon, 09 Nov 2009 19:25:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to cmr.Pent <at> gmail.com:
New bug report received and forwarded. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Mon, 09 Nov 2009 19:25:05 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Andrey Paramonov <pent <at> aparamon.msk.ru>
To: bug-gnu-emacs <at> gnu.org
Subject: 23.1; Incorrect font selected
Date: Mon, 09 Nov 2009 22:19:07 +0300
To reproduce:

0) emacs -Q
   
   My .Xresources:

   emacs*font: DejaVu Sans Mono-11

1) C-x C-f titledefs.dtx (attached)

   Latin characters are displayed with DejaVu Sans Mono, as expected.
   Cyrillic characters are not displayed properly. This is Ok yet,
   because the file is encoded in cp1251.

2) C-x RET r cp1251 RET
   yes RET
   
   Latin characters are displayed with DejaVu Sans Mono, as expected.
   Cyrillic characters are displayed, but not with DejaVu Sans Mono.
   Looks like they are displayed with Terminus.

3) C-x RET f utf-8 RET
   C-x C-w (enter filename)
   C-x C-f (new filename)

   All characters are displayed with DejaVu Sans Mono, as expected.

On step 2, all characters should be displayed with DejaVu Sans Mono.

I'm ready to provide any additional info,
Andrey Paramonov

In GNU Emacs 23.1.1 (i486-pc-linux-gnu, GTK+ Version 2.16.5)
 of 2009-09-14 on raven, modified by Debian
Windowing system distributor `The X.Org Foundation', version 11.0.10605000
configured using `configure  '--build=i486-linux-gnu' '--host=i486-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib' '--localstatedir=/var/lib' '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-pop=yes' '--enable-locallisppath=/etc/emacs23:/etc/emacs:/usr/local/share/emacs/23.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/23.1/site-lisp:/usr/share/emacs/site-lisp:/usr/share/emacs/23.1/leim' '--with-x=yes' '--with-x-toolkit=gtk' '--with-toolkit-scroll-bars' 'build_alias=i486-linux-gnu' 'host_alias=i486-linux-gnu' 'CFLAGS=-DDEBIAN -g -O2' 'LDFLAGS=-g' 'CPPFLAGS=''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: ru_RU.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default-enable-multibyte-characters: t

===File ~/titledefs.dtx======================
%    \begin{macrocode}

%<titledefs>\ProvidesFile{titledefs.rtx}

%<*titledefs>
%    \end{macrocode}
%
% \subsection{Ïîñòîÿííûå ÷àñòè çàãîëîâêîâ, òèòóëüíîãî ëèñòà è òåêñòà}
%
% \DescribeMacro{\abstractname}\index{Ìàêðîñû!\verb+\abstractname+}
% Àííîòàöèÿ
%    \begin{macrocode}
\def\abstractname{\cyr\CYRA\cyrn\cyrn\cyro\cyrt\cyra\cyrc\cyri\cyrya}
%    \end{macrocode}
% \DescribeMacro{\titlepagename}\index{Ìàêðîñû!\verb+\titlepagename+}
% Òèòóëüíûé ëèñò
%    \begin{macrocode}
\def\titlepagename{\cyr\CYRT\cyri\cyrt\cyru\cyrl\cyrsftsn\cyrn\cyrery\cyrishrt\ %
\cyrl\cyri\cyrs\cyrt}
%    \end{macrocode}
% \DescribeMacro{\keywordsname}\index{Ìàêðîñû!\verb+\keywordsname+}
% \DescribeMacro{\keywordssep}\index{Ìàêðîñû!\verb+\keywordssep+}
% \DescribeMacro{\keywordslabel}\index{Ìàêðîñû!\verb+\keywordslabel+}
% Êëþ÷åâûå ñëîâà
%    \begin{macrocode}
\def\keywordsname{\cyr\CYRK\cyrk\cyryu\cyrch\cyre\cyrv\cyrery\cyre\ %
\cyrs\cyrl\cyro\cyrv\cyra}
\def\keywordssep{:}
\def\keywordslabel{\keywordsname\keywordssep}
%    \end{macrocode}
% \DescribeMacro{\workname}\index{Ìàêðîñû!\verb+\workname+}
% Äèññåðòàöèÿ
%    \begin{macrocode}
\def\workname{\cyr\CYRD\cyri\cyrs\cyrs\cyre\cyrr\cyrt\cyra\cyrc\cyri\cyrya}
%    \end{macrocode}
% \DescribeMacro{\approved}\index{Ìàêðîñû!\verb+\approved+}
% Äèññåðòàöèÿ äîïóùåíà ê çàùèòå (çàïèñü î äîïóñêå)
%    \begin{macrocode}
\def\approved{\workname\ \cyrd\cyro\cyrp\cyru\cyrshch\cyre\cyrn\cyra\ %
\cyrk\ \cyrz\cyra\cyrshch\cyri\cyrt\cyre}
%    \end{macrocode}
% \DescribeMacro{\appos}\index{Ìàêðîñû!\verb+\appos+}
% Äîëæíîñòü ëèöà, äîïóñêàþùåãî ê çàùèòå
%    \begin{macrocode}
\def\appos{\cyr\cyrz\cyra\cyrv.\ \cyrk\cyra\cyrf\cyre\cyrd\cyrr\cyro\cyrishrt}
%    \end{macrocode}
% \DescribeMacro{\groupname}\index{Ìàêðîñû!\verb+\groupname+}
% ãð. (ãðóïïà)
%    \begin{macrocode}
\def\groupname{\cyr\cyrg\cyrr.}
%    \end{macrocode}
% \DescribeMacro{\topicname}\index{Ìàêðîñû!\verb+\topicname+}
% \DescribeMacro{\topicsep}\index{Ìàêðîñû!\verb+\topicsep+}
% \DescribeMacro{\topiclabel}\index{Ìàêðîñû!\verb+\topiclabel+}
% Òåìà
%    \begin{macrocode}
\def\topicname{\cyr\CYRT\cyre\cyrm\cyra}
\def\topicsep{:\ }
\def\topiclabel{\topicname\topicsep}
%    \end{macrocode}
% \DescribeMacro{\coursename}\index{Ìàêðîñû!\verb+\coursename+}
% \DescribeMacro{\coursesep}\index{Ìàêðîñû!\verb+\coursesep+}
% \DescribeMacro{\courselabel}\index{Ìàêðîñû!\verb+\courselabel+}
% Íàïðàâëåíèå
%    \begin{macrocode}
\def\coursename{\cyr\CYRN\cyra\cyrp\cyrr\cyra\cyrv\cyrl\cyre\cyrn\cyri\cyre}
\def\coursesep{:}
\def\courselabel{\coursename\coursesep}
%    \end{macrocode}
% \DescribeMacro{\specname}\index{Ìàêðîñû!\verb+\specname+}
% \DescribeMacro{\specsep}\index{Ìàêðîñû!\verb+\specsep+}
% \DescribeMacro{\speclabel}\index{Ìàêðîñû!\verb+\speclabel+}
% Ñïåöèàëüíîñòü
%    \begin{macrocode}
\def\specname{%
\cyr\CYRS\cyrp\cyre\cyrc\cyri\cyra\cyrl\cyrsftsn\cyrn\cyro\cyrs\cyrt\cyrsftsn}
\def\specsep{:}
\def\speclabel{\specname\specsep}
%    \end{macrocode}
% \DescribeMacro{\masterprogname}\index{Ìàêðîñû!\verb+\masterprogname+}
% \DescribeMacro{\masterprogsep}\index{Ìàêðîñû!\verb+\masterprogsep+}
% \DescribeMacro{\masterproglabel}\index{Ìàêðîñû!\verb+\masterproglabel+}
% Ìàãèñòåðñêàÿ ïðîãðàììà
%    \begin{macrocode}
\def\masterprogname{%
\cyr\CYRM\cyra\cyrg\cyri\cyrs\cyrt\cyre\cyrr\cyrs\cyrk\cyra\cyrya\ %
\cyrp\cyrr\cyro\cyrg\cyrr\cyra\cyrm\cyrm\cyra}
\def\masterprogsep{:}
\def\masterproglabel{\masterprogname\masterprogsep}
%    \end{macrocode}
% \DescribeMacro{\studentname}\index{Ìàêðîñû!\verb+\studentname+}
% \DescribeMacro{\studentlabel}\index{Ìàêðîñû!\verb+\studentlabel+}
% Âûïîëíèë ñòóäåíò
%    \begin{macrocode}
\def\studentname{\cyr\CYRV\cyrery\cyrp\cyro\cyrl\cyrn\cyri\cyrl\ %
\cyrs\cyrt\cyru\cyrd\cyre\cyrn\cyrt}
\def\studentlabel{\studentname}
%    \end{macrocode}
% \DescribeMacro{\saname}\index{Ìàêðîñû!\verb+\saname+}
% \DescribeMacro{\salabel}\index{Ìàêðîñû!\verb+\salabel+}
% Íàó÷íûé ðóêîâîäèòåëü (sa -- ñîêð. îò scientific adviser)
%    \begin{macrocode}
\def\saname{\cyr\CYRN\cyra\cyru\cyrch\cyrn\cyrery\cyrishrt\ %
\cyrr\cyru\cyrk\cyro\cyrv\cyro\cyrd\cyri\cyrt\cyre\cyrl\cyrsftsn}
\def\salabel{\saname}
%    \end{macrocode}
% \DescribeMacro{\revname}\index{Ìàêðîñû!\verb+\revname+}
% \DescribeMacro{\revlabel}\index{Ìàêðîñû!\verb+\revlabel+}
% Ðåöåíçåíò
%    \begin{macrocode}
\def\revname{\cyr\CYRR\cyre\cyrc\cyre\cyrn\cyrz\cyre\cyrn\cyrt}
\def\revlabel{\revname}
%    \end{macrocode}
% \DescribeMacro{\conname}\index{Ìàêðîñû!\verb+\conname+}
% \DescribeMacro{\conlabel}\index{Ìàêðîñû!\verb+\conlabel+}
% Êîíñóëüòàíò
%    \begin{macrocode}
\def\conname{\cyr\CYRK\cyro\cyrn\cyrs\cyru\cyrl\cyrsftsn\cyrt\cyra\cyrn\cyrt}
\def\conlabel{\conname\ \cyrp\cyro\ \@conspec}
%    \end{macrocode}
% \DescribeMacro{\asmanuscriptname}\index{Ìàêðîñû!\verb+\asmanuscriptname+}
% Íà ïðàâàõ ðóêîïèñè
%    \begin{macrocode}
\def\asmanuscriptname{\cyr\CYRN\cyra\ \cyrp\cyrr\cyra\cyrv\cyra\cyrh\ %
\cyrr\cyru\cyrk\cyro\cyrp\cyri\cyrs\cyri}
%    \end{macrocode}
% \DescribeMacro{\libcatname}\index{Ìàêðîñû!\verb+\libcatname+}
% ÓÄÊ
%    \begin{macrocode}
\def\libcatname{\cyr\CYRU\CYRD\CYRK}
%    \end{macrocode}
% \DescribeMacro{\consultname}\index{Ìàêðîñû!\verb+\consultname+}
% Êîíñóëüòàíòû
%    \begin{macrocode}
\def\consultname{%
\cyr\CYRK\cyro\cyrn\cyrs\cyru\cyrl\cyrsftsn\cyrt\cyra\cyrn\cyrt\cyrery:}
%    \end{macrocode}
%
% \subsection{Èíòåðôåéñ äëÿ îïðåäåëåíèÿ ýëåìåíòîâ òèòóëüíîãî ëèñòà}
%
% \DescribeMacro{\institution}\index{Ìàêðîñû!\verb*+\institution+}
% Îðãàíèçàöèÿ
%    \begin{macrocode}
\def\institution#1{\gdef\@institution{#1}}\institution{}
%    \end{macrocode}
%
% \DescribeMacro{\spec}\index{Ìàêðîñû!\verb*+\spec+}
% Íàçâàíèå ñïåöèàëüíîñòè
%    \begin{macrocode}
\def\spec#1{\gdef\@spec{#1}}\spec{}
%    \end{macrocode}
% \DescribeMacro{\specnum}\index{Ìàêðîñû!\verb*+\specnum+}
% Íîìåð ñïåöèàëüíîñòè
%    \begin{macrocode}
\def\specnum#1{\gdef\@specnum{#1}}\specnum{}
%    \end{macrocode}
% \DescribeMacro{\course}\index{Ìàêðîñû!\verb*+\course+}
% Íàçâàíèå íàïðàâëåíèÿ
%    \begin{macrocode}
\def\course#1{\gdef\@course{#1}}\course{}
%    \end{macrocode}
% \DescribeMacro{\coursenum}\index{Ìàêðîñû!\verb*+\coursenum+}
% Íîìåð íàïðàâëåíèÿ
%    \begin{macrocode}
\def\coursenum#1{\gdef\@coursenum{#1}}\coursenum{}
%    \end{macrocode}
% \DescribeMacro{\keywords}\index{Ìàêðîñû!\verb*+\keywords+}
% Êëþ÷åâûå ñëîâà
%    \begin{macrocode}
\def\keywords#1{\gdef\@keywords{#1}}\keywords{}
%    \end{macrocode}
% \DescribeMacro{\title}\index{Ìàêðîñû!\verb*+\title+}
% Çàãîëîâîê
%    \begin{macrocode}
\def\title#1{\gdef\@title{#1}}\title{}
%    \end{macrocode}
% \DescribeMacro{\topic}\index{Ìàêðîñû!\verb*+\topic+}
% Òåìà
%    \begin{macrocode}
\def\topic#1{\gdef\@topic{#1}}\topic{}
%    \end{macrocode}
% \DescribeMacro{\author}\index{Ìàêðîñû!\verb*+\author+}
% Àâòîð
%    \begin{macrocode}
\def\author#1{\gdef\@author{#1}}\author{}
%    \end{macrocode}
% \DescribeMacro{\city}\index{Ìàêðîñû!\verb*+\city+}
% Ãîðîä
%    \begin{macrocode}
\def\city#1{\gdef\@city{#1}}\city{}
%    \end{macrocode}
% \DescribeMacro{\faculty}\index{Ìàêðîñû!\verb*+\faculty+}
% Ôàêóëüòåò
%    \begin{macrocode}
\def\faculty#1{\gdef\@faculty{#1}}\faculty{}
%    \end{macrocode}
% \DescribeMacro{\department}\index{Ìàêðîñû!\verb*+\department+}
% êàôåäðà
%    \begin{macrocode}
\def\department#1{\gdef\@department{#1}}\department{}
%    \end{macrocode}
% \DescribeMacro{\apname}\index{Ìàêðîñû!\verb*+\apname+}
% ÔÈÎ ëèöà, äîïóñêàþùåãî ê çàùèòå (çàâ. êàôåäðîé)
%    \begin{macrocode}
\def\apname#1{\gdef\@apname{#1}}\apname{}
%    \end{macrocode}
% \DescribeMacro{\libcatnum}\index{Ìàêðîñû!\verb*+\libcatnum+}
% Íîìåð ÓÄÊ
%    \begin{macrocode}
\def\libcatnum#1{\gdef\@libcatnum{#1}}\libcatnum{}
%    \end{macrocode}
% \DescribeMacro{\group}\index{Ìàêðîñû!\verb*+\group+}
% Àêàäåìè÷åñêàÿ ãðóïïà
%    \begin{macrocode}
\def\group#1{\gdef\@group{#1}}\group{}
%    \end{macrocode}
% \DescribeMacro{\masterprognum}\index{Ìàêðîñû!\verb*+\masterprognum+}
% Íîìåð ìàãèñòåðñêîé ïðîãðàììû
%    \begin{macrocode}
\def\masterprognum#1{\gdef\@masterprognum{#1}}\masterprognum{}
%    \end{macrocode}
% \DescribeMacro{\masterprog}\index{Ìàêðîñû!\verb*+\masterprog+}
% Íàçâàíèå ìàãèñòåðñêîé ïðîãðàììû
%    \begin{macrocode}
\def\masterprog#1{\gdef\@masterprog{#1}}\masterprog{}
%    \end{macrocode}
% Çíà÷åíèå |\data| ïî óìîë÷àíèþ
%    \begin{macrocode}
\date{\number\year}

%    \end{macrocode}
% \DescribeMacro{\yearname}\index{Ìàêðîñû!\verb*+\yearname+}
% Ñîêðàùåíèå ãîäà <<ã.>>
%    \begin{macrocode}
\def\yearname{\cyr\cyrg.}
%    \end{macrocode}
% \DescribeMacro{\commonsect}\index{Ìàêðîñû!\verb*+\commonsect+}
% \DescribeMacro{\postcommonsect}\index{Ìàêðîñû!\verb*+\postcommonsect+}
% Ôîðìàò çàãîëîâêîâ îáùåãî òåêñòà <<Ââåäåíèÿ>> è àâòîðåôåðàòà.
%    \begin{macrocode}
\let\commonsect=\textbf
\def\postcommonsect{\ }
%    \end{macrocode}
%
% \subsubsection{Íàó÷íûé ðóêîâîäèòåëü}
% \DescribeMacro{\sa}\index{Ìàêðîñû!\verb*+\sa+}
% ÔÈÎ
%    \begin{macrocode}
\def\sa#1{\gdef\@sa{#1}}\sa{}
%    \end{macrocode}
% \DescribeMacro{\sastatus}\index{Ìàêðîñû!\verb*+\sastatus+}
% Ó÷¸íîå çâàíèå
%    \begin{macrocode}
\def\sastatus#1{\gdef\@sastatus{#1}}\sastatus{}
%    \end{macrocode}
%
% \subsubsection{Ðåöåíçåíò}
% \DescribeMacro{\rev}\index{Ìàêðîñû!\verb*+\rev+}
% ÔÈÎ
%    \begin{macrocode}
\def\rev#1{\gdef\@rev{#1}}\rev{}
%    \end{macrocode}
% \DescribeMacro{\revstatus}\index{Ìàêðîñû!\verb*+\revstatus+}
% ó÷¸íîå çâàíèå
%    \begin{macrocode}
\def\revstatus#1{\gdef\@revstatus{#1}}\revstatus{}
%    \end{macrocode}
%
% \subsubsection{Êîíñóëüòàíò}
%
% \DescribeMacro{\conspec}\index{Ìàêðîñû!\verb*+\conspec+}
% Ñïåöèàëüíîñòü
%    \begin{macrocode}
\def\conspec#1{\gdef\@conspec{#1}}
%    \end{macrocode}
% \DescribeMacro{\con}\index{Ìàêðîñû!\verb*+\con+}
% ÔÈÎ
%    \begin{macrocode}
\def\con#1{\gdef\@con{#1}}
%    \end{macrocode}
% \DescribeMacro{\constatus}\index{Ìàêðîñû!\verb*+\constatus+}
% Ó÷¸íîå çâàíèå è ñòåïåíü
%    \begin{macrocode}
\def\constatus#1{\gdef\@constatus{#1}}

%    \end{macrocode}
%
% \subsubsection{Íàçâàíèÿ íåíóìåðóåìûõ ãëàâ}
%
% \begin{itemize}
% \item Ñîäåðæàíèå
% \DescribeMacro{\contentsname}\index{Ìàêðîñû!\verb*+\contentsname+}
%    \begin{macrocode}
\AtBeginDocument{
  \addto\captionsrussian{%
    \def\contentsname{\cyr\CYRS\cyro\cyrd\cyre\cyrr\cyrzh\cyra\cyrn\cyri\cyre}
  }
}

%    \end{macrocode}
% \item Ââåäåíèå
% \DescribeMacro{\introname}\index{Ìàêðîñû!\verb*+\introname+}
% \DescribeMacro{\intro}\index{Ìàêðîñû!\verb*+\intro+}
%    \begin{macrocode}
\newcommand\introname{\cyr\CYRV\cyrv\cyre\cyrd\cyre\cyrn\cyri\cyre}
\newcommand\intro{\nchapter{\introname}}
%    \end{macrocode}
% \item Çàêëþ÷åíèå
% \DescribeMacro{\conclusionname}\index{Ìàêðîñû!\verb*+\conclusionname+}
%    \begin{macrocode}
\newcommand\conclusionname{%
\cyr\CYRZ\cyra\cyrk\cyrl\cyryu\cyrch\cyre\cyrn\cyri\cyre
}
\newcommand\conclusion{\nchapter{\conclusionname}}
%    \end{macrocode}
% \item Ñïèñîê èñïîëüçóåìûõ îáîçíà÷åíèé
% \DescribeMacro{\defsname}\index{Ìàêðîñû!\verb*+\defsname+}
% \end{itemize}
%    \begin{macrocode}
\newcommand\defsname{%
{\cyr\CYRS\cyrp\cyri\cyrs\cyro\cyrk\ %
\cyri\cyrs\cyrp\cyro\cyrl\cyrsftsn\cyrz\cyru\cyre\cyrm\cyrery\cyrh\ %
\cyro\cyrb\cyro\cyrz\cyrn\cyra\cyrch\cyre\cyrn\cyri\cyrishrt}
}
\newcommand\defs{\nchapter{\defsname}}

%    \end{macrocode}
% Îáçîð ëèòåðàòóðû
% \DescribeMacro{\reviewname}\index{Ìàêðîñû!\verb*+\reviewname+}
%    \begin{macrocode}
\newcommand\reviewname{\cyr\CYRO\cyrb\cyrz\cyro\cyrr\ %
\cyrl\cyri\cyrt\cyre\cyrr\cyra\cyrt\cyru\cyrr\cyrery}
\newcommand\review{\nchapter{\reviewname}}

%    \end{macrocode}
%
% \subsubsection{Ïîëÿ òèòóëüíîãî ëèñòà}
%
% \DescribeMacro{\field}\index{Ìàêðîñû!\verb*+\field+}
% Ôîðìàò çàïèñåé äëÿ íàó÷íîãî ðóêîâîäèòåëÿ, ðåöåíçåíòà è êîíñóëüòàíòà
%    \begin{macrocode}
\def\field#1{%
  \csname #1label\endcsname,\\%
  \csname @#1status\endcsname\>
  \makebox[8.5cm][l]{\hrulefill\ \csname @#1\endcsname}
}
%    \end{macrocode}
%
% \DescribeMacro{\@approved}\index{Ìàêðîñû!\verb+"\"@approved+}
% \makeatother
% Äèññåðòàöèÿ äîïóùåíà ê çàùèòå
%    \begin{macrocode}
\def\@approved{
  \begin{tabbing}
    \hspace{8cm}\={\approved}
\\
    \>\appos
\\[9pt]
    \>\makebox[8.5cm][r]{\hrulefill\ \@apname}
\\[9pt]
    \>\makebox[1.5cm][r]{<<\hrulefill>>}
    \makebox[7cm][r]{\hrulefill\ \@date\,\yearname}
  \end{tabbing}
}

%    \end{macrocode}
% \DescribeMacro{\datefield}\index{Ìàêðîñû!\verb*+\datefield+}
% Ïîëå äëÿ çàïèñè äàòû. Äëÿ îòîáðàæåíèÿ ïðîèçâîëüíîãî ãîäà íóæíî
% ïðèñâîèòü çíà÷åíèå íåîáÿçàòåëüíîìó àðãóìåíòó.
%    \begin{macrocode}
\providecommand\datefield[1][\number\year]{<<\rule[0pt]{1cm}{.5pt}>>\ %
\rule[0pt]{3cm}{0.5pt}\ #1~\yearname}
%    \end{macrocode}
% \DescribeMacro{\mkcommonsect}\index{Ìàêðîñû!\verb*+\mkcommonsect+}
% Ãåíåðàòîð êîìàíä äëÿ îáùåãî òåêñòà äèññåðòàöèè è àâòîðåôåðàòà.
%    \begin{macrocode}
\providecommand\mkcommonsect[3]{%
  \@namedef{#1head}{#2}
  \@namedef{#1section}{\commonsect{\expandafter\csname #1head\endcsname}\postcommonsect}
  \@namedef{#1text}{#3}
}
\let\mkintrosect=\mkcommonsect

%    \end{macrocode}
% \DescribeMacro{\facsimile}\index{Ìàêðîñû!\verb*+\facsimile+}
% Êîìàíäà äëÿ âêëþ÷åíèÿ ãðàôè÷åñêîãî ôàéëà ñ ïîäïèñüþ äèññåðòàíòà.
%    \begin{macrocode}
\providecommand\facsimile{\vskip 6pt\includegraphics[width=3cm]{facsimile}}

%</titledefs>
%    \end{macrocode}
============================================================




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#4895; Package emacs. (Tue, 10 Nov 2009 01:40:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to Kenichi Handa <handa <at> m17n.org>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Tue, 10 Nov 2009 01:40:05 GMT) Full text and rfc822 format available.

Message #10 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Kenichi Handa <handa <at> m17n.org>
To: cmr.Pent <at> gmail.com, 4895 <at> debbugs.gnu.org
Cc: bug-gnu-emacs <at> gnu.org
Subject: Re: bug#4895: 23.1; Incorrect font selected
Date: Tue, 10 Nov 2009 10:32:24 +0900
In article <E1N7Zlb-0006fY-GR <at> neo.paramonovs>, Andrey Paramonov <pent <at> aparamon.msk.ru> writes:

> 0) emacs -Q
   
>    My .Xresources:

>    emacs*font: DejaVu Sans Mono-11

> 1) C-x C-f titledefs.dtx (attached)

>    Latin characters are displayed with DejaVu Sans Mono, as expected.
>    Cyrillic characters are not displayed properly. This is Ok yet,
>    because the file is encoded in cp1251.

> 2) C-x RET r cp1251 RET
>    yes RET
   
>    Latin characters are displayed with DejaVu Sans Mono, as expected.
>    Cyrillic characters are displayed, but not with DejaVu Sans Mono.
>    Looks like they are displayed with Terminus.

This is because Emacs prefers a font whose registry matches
with `charset' text property.

In the above case, the default fontset has this entry for
cyrillic:

     (cyrillic ,(font-spec :registry "iso10646-1" :script 'cyrillic)
	       (nil . "ISO8859-5")
	       (nil . "microsoft-cp1251")
	       (nil . "koi8-r"))

and when you read a file with cp1251, the charset property
`cp1251' is put on the buffer text.  Thus the font-selector
prefers a font whose registry is "microsoft-cp1251".

If you prefer cyrillic characters to be displayed by the
default font, you can do this in .emacs:

(set-fontset-font "fontset-default" 'cyrillic
                  (font-spec :registry "iso10646-1" :script 'cyrillic))
                                                                       
---
Kenichi Handa
handa <at> m17n.org




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#4895; Package emacs. (Tue, 10 Nov 2009 01:40:07 GMT) Full text and rfc822 format available.

Acknowledgement sent to Kenichi Handa <handa <at> m17n.org>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Tue, 10 Nov 2009 01:40:07 GMT) Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#4895; Package emacs. (Tue, 10 Nov 2009 06:25:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Андрей Парамонов <cmr.pent <at> gmail.com>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Tue, 10 Nov 2009 06:25:05 GMT) Full text and rfc822 format available.

Message #20 received at 4895 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Андрей Парамонов <cmr.pent <at> gmail.com>
To: Kenichi Handa <handa <at> m17n.org>
Cc: 4895 <at> debbugs.gnu.org
Subject: Re: bug#4895: 23.1; Incorrect font selected
Date: Tue, 10 Nov 2009 09:15:33 +0300
Hello!

2009/11/10 Kenichi Handa <handa <at> m17n.org>:
> This is because Emacs prefers a font whose registry matches
> with `charset' text property.
>
> In the above case, the default fontset has this entry for
> cyrillic:
>
>     (cyrillic ,(font-spec :registry "iso10646-1" :script 'cyrillic)
>               (nil . "ISO8859-5")
>               (nil . "microsoft-cp1251")
>               (nil . "koi8-r"))
>
> and when you read a file with cp1251, the charset property
> `cp1251' is put on the buffer text.  Thus the font-selector
> prefers a font whose registry is "microsoft-cp1251".
>
> If you prefer cyrillic characters to be displayed by the
> default font, you can do this in .emacs:
>
> (set-fontset-font "fontset-default" 'cyrillic
>                  (font-spec :registry "iso10646-1" :script 'cyrillic))
>

Thanks for the explanation. Do you think it's still valid not to
prefer unicode fonts to fonts with specific registries? I believe the
unicode is dominating by now, at least for european languages.

Andrey Paramonov



Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#4895; Package emacs. (Tue, 10 Nov 2009 08:15:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Kenichi Handa <handa <at> m17n.org>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Tue, 10 Nov 2009 08:15:03 GMT) Full text and rfc822 format available.

Message #25 received at 4895 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Kenichi Handa <handa <at> m17n.org>
To: =?UTF-8?B?0JDQvdC00YDQtdC5INCf0LDRgNCw0LzQvtC90L7Qsg==?= <cmr.pent <at> gmail.com>
Cc: 4895 <at> debbugs.gnu.org
Subject: Re: bug#4895: 23.1; Incorrect font selected
Date: Tue, 10 Nov 2009 17:10:30 +0900
In article <5f0660120911092215v48f00477l5f2c68855507ab4b <at> mail.gmail.com>, =?UTF-8?B?0JDQvdC00YDQtdC5INCf0LDRgNCw0LzQvtC90L7Qsg==?= <cmr.pent <at> gmail.com> writes:

> Thanks for the explanation. Do you think it's still valid not to
> prefer unicode fonts to fonts with specific registries? I believe the
> unicode is dominating by now, at least for european languages.

I'm not sure.  At least, a while ago, bitmap fonts of legacy
registries (e.g. iso8859-X, koi8, etc) are better than
unicode bitmap fonts.  I think using cp1251 fonts for
cp1251-encoded file is a good default even now.  First of
all, if unicode is dominating by now, the chance of reading
cp1251 files should be rare.

---
Kenichi Handa
handa <at> m17n.org



Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#4895; Package emacs. (Wed, 11 Nov 2009 11:05:10 GMT) Full text and rfc822 format available.

Acknowledgement sent to Juri Linkov <juri <at> jurta.org>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Wed, 11 Nov 2009 11:05:10 GMT) Full text and rfc822 format available.

Message #30 received at 4895 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Juri Linkov <juri <at> jurta.org>
To: Kenichi Handa <handa <at> m17n.org>
Cc: 4895 <at> debbugs.gnu.org, cmr.pent <at> gmail.com
Subject: Re: bug#4895: 23.1; Incorrect font selected
Date: Wed, 11 Nov 2009 12:45:09 +0200
[Message part 1 (text/plain, inline)]
>> Thanks for the explanation. Do you think it's still valid not to
>> prefer unicode fonts to fonts with specific registries? I believe the
>> unicode is dominating by now, at least for european languages.
>
> I'm not sure.  At least, a while ago, bitmap fonts of legacy
> registries (e.g. iso8859-X, koi8, etc) are better than
> unicode bitmap fonts.  I think using cp1251 fonts for
> cp1251-encoded file is a good default even now.  First of
> all, if unicode is dominating by now, the chance of reading
> cp1251 files should be rare.

Unfortunately, cp1251 is still common in the documents created on
Windows.  Opening such documents in Emacs on GNU/Linux often results
in a very ugly look, especially when cp1251 text is surrounded
by Latin or Unicode characters.  Unicode fonts are well developed and 
maintained unlike legacy cp1251 fonts that are less relevant nowadays.

Please see in the attached screenshot from part of etc/HELLO
how ugly it looks with default cp1251 and koi8-r fonts
when other text uses Unicode fonts:

[ugly-fonts.png (image/png, inline)]
[Message part 3 (text/plain, inline)]
IIUC other applications allow font configuration based on a language
or a script that is more important for the user than a technical detail
like a charset.  And they use the same Unicode font by default.

-- 
Juri Linkov
http://www.jurta.org/emacs/

Merged 4365 4895. Request was from Chong Yidong <cyd <at> gnu.org> to control <at> debbugs.gnu.org. (Mon, 09 Jul 2012 05:00:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#4895; Package emacs. (Mon, 09 Jul 2012 05:33:02 GMT) Full text and rfc822 format available.

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

From: Chong Yidong <cyd <at> gnu.org>
To: Juri Linkov <juri <at> jurta.org>
Cc: 4895 <at> debbugs.gnu.org, cmr.pent <at> gmail.com, Kenichi Handa <handa <at> m17n.org>
Subject: Re: bug#4895: 23.1; Incorrect font selected
Date: Mon, 09 Jul 2012 13:26:55 +0800
Juri Linkov <juri <at> jurta.org> writes:

>>> Thanks for the explanation. Do you think it's still valid not to
>>> prefer unicode fonts to fonts with specific registries? I believe the
>>> unicode is dominating by now, at least for european languages.
>>
>> I'm not sure.  At least, a while ago, bitmap fonts of legacy
>> registries (e.g. iso8859-X, koi8, etc) are better than
>> unicode bitmap fonts.  I think using cp1251 fonts for
>> cp1251-encoded file is a good default even now.  First of
>> all, if unicode is dominating by now, the chance of reading
>> cp1251 files should be rare.
>
> Unfortunately, cp1251 is still common in the documents created on
> Windows.  Opening such documents in Emacs on GNU/Linux often results
> in a very ugly look, especially when cp1251 text is surrounded
> by Latin or Unicode characters.  Unicode fonts are well developed and 
> maintained unlike legacy cp1251 fonts that are less relevant nowadays.

Presumably, unicode fonts should have even better coverage now than
three years ago, when this discussion first took place.  Any objections
to making the switch?

Also, where in the code does this

>> when you read a file with cp1251, the charset property
>> `cp1251' is put on the buffer text.  Thus the font-selector
>> prefers a font whose registry is "microsoft-cp1251".

occur?  I took a quick look at the documentation, e.g. the docstring of
new-fontset, and couldn't find the explanation of how the font-selector
chooses the font to use from the list of font specifications.  If the
list of font specifications is not given in order of priority, that
should be clearly explained somewhere.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#4895; Package emacs. (Mon, 09 Jul 2012 08:25:01 GMT) Full text and rfc822 format available.

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

From: Juri Linkov <juri <at> jurta.org>
To: Chong Yidong <cyd <at> gnu.org>
Cc: 4895 <at> debbugs.gnu.org, cmr.pent <at> gmail.com, Kenichi Handa <handa <at> m17n.org>
Subject: Re: bug#4895: 23.1; Incorrect font selected
Date: Mon, 09 Jul 2012 11:10:10 +0300
> Presumably, unicode fonts should have even better coverage now than
> three years ago, when this discussion first took place.  Any objections
> to making the switch?

Yes, the current situation is better than three years ago because
there are less cp1251 fonts on GNU/Linux installations, and more fonts
with wider charset coverage that have the same look for different
charsets, so a charset selected by font-selector matters less now.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#4895; Package emacs. (Mon, 09 Jul 2012 16:47:03 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Chong Yidong <cyd <at> gnu.org>
Cc: juri <at> jurta.org, 4895 <at> debbugs.gnu.org, cmr.pent <at> gmail.com, handa <at> m17n.org
Subject: Re: bug#4895: 23.1; Incorrect font selected
Date: Mon, 09 Jul 2012 19:41:20 +0300
> From: Chong Yidong <cyd <at> gnu.org>
> Date: Mon, 09 Jul 2012 13:26:55 +0800
> Cc: 4895 <at> debbugs.gnu.org, cmr.pent <at> gmail.com, Kenichi Handa <handa <at> m17n.org>
> 
> Also, where in the code does this
> 
> >> when you read a file with cp1251, the charset property
> >> `cp1251' is put on the buffer text.  Thus the font-selector
> >> prefers a font whose registry is "microsoft-cp1251".
> 
> occur?

decode_coding calls produce_annotation that calls produce_charset,
which puts the 'charset' text property on the decoded text.

Then font_for_char uses this property to get the charset ID with which
it calls fontset_font, which in turn calls fontset_find_font, which
prefers fonts whose repertory matches that ID.

> I took a quick look at the documentation, e.g. the docstring of
> new-fontset, and couldn't find the explanation of how the
> font-selector chooses the font to use from the list of font
> specifications.  If the list of font specifications is not given in
> order of priority, that should be clearly explained somewhere.

The documentation of fontset stuff could use a lot of improvement.




Merged 4365 4895 11889. Request was from Juri Linkov <juri <at> jurta.org> to control <at> debbugs.gnu.org. (Mon, 09 Jul 2012 21:38:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 08 Aug 2012 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 11 years and 257 days ago.

Previous Next


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