unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
* font or face problem in emacs
@ 2006-06-29 20:50 H.S.
  2006-06-29 22:18 ` Peter Dyballa
  0 siblings, 1 reply; 10+ messages in thread
From: H.S. @ 2006-06-29 20:50 UTC (permalink / raw)



Hello,

When I compile a program in emacs, I notice that I get some strange 
escape sequences in the compiler output window of emacs. For example, if 
my program is:
----------------------------------------------------------------
#include<iostream>
int main(){
     int i,j;
     std::cout << "Hellow Wrold!" << std::endl;
     return 0;
}
----------------------------------------------------------------

and I compile it with:
g++ -Wall -ansi -o testprog testprog.cc

I get the following in my emacs compiler message window (notice the 
strange characters around the variables and function names):
----------------------------------------------------------------
g++ -Wall -ansi -o testprog testprog.cc
testprog.cc: In function ‘int main()’:
testprog.cc:6: warning: unused variable ‘i’
testprog.cc:6: warning: unused variable ‘j’

Compilation finished at Thu Jun 29 15:01:30
----------------------------------------------------------------

The strange characters around a variable are(I have typed the 
backslashes and numbers so that they are displayed properly here):
on left hand side: â\200\230
on right hand side: â\200\231


I guess this has something to do with the face of those strings in the 
compiler output in emacs. And that I may not have proper fonts 
installed. Am I on the right track? All inputs are welcome in solving 
this little problem.

BTW, this started happening only after I reintalled Debian Etch a few 
weeks ago.

I have:
 > dpkg -l *emacs* | grep ^ii
ii  emacs-goodies-el    26.6-1   Miscellaneous add-ons for Emacs
ii  emacs21             21.4a-3  The GNU Emacs editor
ii  emacs21-bin-common  21.4a-3  The GNU Emacs editor's shared, architecture
ii  emacs21-common      21.4a-3  The GNU Emacs editor's shared, architecture
ii  emacsen-common      1.4.17   Common facilities for all emacsen


thanks,
->HS

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: font or face problem in emacs
  2006-06-29 20:50 font or face problem in emacs H.S.
@ 2006-06-29 22:18 ` Peter Dyballa
  2006-06-29 22:37   ` H.S.
                     ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Peter Dyballa @ 2006-06-29 22:18 UTC (permalink / raw)
  Cc: help-gnu-emacs


Am 29.06.2006 um 22:50 schrieb H.S.:

> g++ -Wall -ansi -o testprog testprog.cc
> testprog.cc: In function ‘int main()’:
> testprog.cc:6: warning: unused variable ‘i’
> testprog.cc:6: warning: unused variable ‘j’
>
> Compilation finished at Thu Jun 29 15:01:30
> ----------------------------------------------------------------
>
> The strange characters around a variable are(I have typed the  
> backslashes and numbers so that they are displayed properly here):
> on left hand side: â\200\230
> on right hand side: â\200\231

What you see here is UTF-8 represented as 8bit:

U+2018 = E2 80 98 : LEFT SINGLE QUOTATION MARK  = ‘
U+2019 = E2 80 99 : RIGHT SINGLE QUOTATION MARK = ’

â is E2 in hex
200 oct is 80 in hex
230 oct and 231 oct are 98 resp. 99 in hex.

Make the *compilation* buffer be encoded in UTF-8 or make your LANG  
or LC_CTYPE environment variables 8 bit -- could be there is some  
option in your g++ to stay in 8 bit when printing some message.

--
Greetings

   Pete

“Computers are good at following instructions, but not at reading  
your mind.”
    - D. E. Knuth, The TeXbook, Addison-Wesley 1984, 1986, 1996, p. 9

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: font or face problem in emacs
  2006-06-29 22:18 ` Peter Dyballa
@ 2006-06-29 22:37   ` H.S.
  2006-06-30  8:41     ` Peter Dyballa
  2006-06-29 22:47   ` Peter Dyballa
                     ` (2 subsequent siblings)
  3 siblings, 1 reply; 10+ messages in thread
From: H.S. @ 2006-06-29 22:37 UTC (permalink / raw)


Peter Dyballa wrote:
> 
> Am 29.06.2006 um 22:50 schrieb H.S.:
> 
>> g++ -Wall -ansi -o testprog testprog.cc
>> testprog.cc: In function ‘int main()’:
>> testprog.cc:6: warning: unused variable ‘i’
>> testprog.cc:6: warning: unused variable ‘j’
>>
>> Compilation finished at Thu Jun 29 15:01:30
>> ----------------------------------------------------------------
>>
>> The strange characters around a variable are(I have typed the  
>> backslashes and numbers so that they are displayed properly here):
>> on left hand side: â\200\230
>> on right hand side: â\200\231
> 
> 
> What you see here is UTF-8 represented as 8bit:
> 
> U+2018 = E2 80 98 : LEFT SINGLE QUOTATION MARK  = ‘
> U+2019 = E2 80 99 : RIGHT SINGLE QUOTATION MARK = ’
> 
> â is E2 in hex
> 200 oct is 80 in hex
> 230 oct and 231 oct are 98 resp. 99 in hex.
> 
> Make the *compilation* buffer be encoded in UTF-8 or make your LANG  or 
> LC_CTYPE environment variables 8 bit -- could be there is some  option 
> in your g++ to stay in 8 bit when printing some message.
> 
> -- 
> Greetings
> 
>   Pete
> 
> “Computers are good at following instructions, but not at reading  your 
> mind.”
>    - D. E. Knuth, The TeXbook, Addison-Wesley 1984, 1986, 1996, p. 9

Yup, you are right. I just discovered another post in this newsgroup. 
This seems to have worked:
M-x prefer-coding-system RET utf-8 RET
which is from:
http://groups.google.ca/group/gnu.emacs.help/browse_thread/thread/49787de21a638740/d3fdc305681db276?lnk=st&q=%22%5C200%5C230%22+emacs&rnum=2&hl=en#d3fdc305681db276


So, do I need to use the above command everything or is there a problem 
with the way emacs treats various locales? I have:
$> set | grep -i lang
LANG=en_CA.UTF-8
LANGUAGE=en_CA:en_US:en_GB:en

->HS

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: font or face problem in emacs
  2006-06-29 22:18 ` Peter Dyballa
  2006-06-29 22:37   ` H.S.
@ 2006-06-29 22:47   ` Peter Dyballa
  2006-06-29 23:34   ` H.S.
  2006-06-30 12:03   ` Eli Zaretskii
  3 siblings, 0 replies; 10+ messages in thread
From: Peter Dyballa @ 2006-06-29 22:47 UTC (permalink / raw)
  Cc: emacs mailing list


Am 30.06.2006 um 00:18 schrieb Peter Dyballa:

> Make the *compilation* buffer be encoded in UTF-8 or make your LANG  
> or LC_CTYPE environment variables 8 bit -- could be there is some  
> option in your g++ to stay in 8 bit when printing some message.

Could be it's easier to make at least for GNU Emacs the environment  
to be UTF-8 -- it it's modern enough it will switch buffers into  
UTF-8 encoding.

--
Mit friedvollen Grüßen

   Pete

Remember: use logout to logout.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: font or face problem in emacs
  2006-06-29 22:18 ` Peter Dyballa
  2006-06-29 22:37   ` H.S.
  2006-06-29 22:47   ` Peter Dyballa
@ 2006-06-29 23:34   ` H.S.
  2006-06-30  9:03     ` Peter Dyballa
  2006-06-30 12:03   ` Eli Zaretskii
  3 siblings, 1 reply; 10+ messages in thread
From: H.S. @ 2006-06-29 23:34 UTC (permalink / raw)


Peter Dyballa wrote:

> Make the *compilation* buffer be encoded in UTF-8 or make your LANG  or 
> LC_CTYPE environment variables 8 bit -- could be there is some  option 
> in your g++ to stay in 8 bit when printing some message.

Yes, that is one method. But with all this talk of systems being utf-8 
compatible and such these days, I was expecting that applications are 
getting better at this. If Emacs is not UTF-8 complaint, I would like to 
know for sure so that I can accomodate other applications I use. On the 
other hand, if Emacs is expected to recognize UTF-8, then there ought to 
be a way to make it do so by default. All I want to know is which way is it?

thanks for your explanations,
->HS

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: font or face problem in emacs
  2006-06-29 22:37   ` H.S.
@ 2006-06-30  8:41     ` Peter Dyballa
  2006-06-30 16:13       ` H.S.
  0 siblings, 1 reply; 10+ messages in thread
From: Peter Dyballa @ 2006-06-30  8:41 UTC (permalink / raw)
  Cc: help-gnu-emacs


Am 30.06.2006 um 00:37 schrieb H.S.:

> Yup, you are right. I just discovered another post in this  
> newsgroup. This seems to have worked:
> M-x prefer-coding-system RET utf-8 RET

You can set in .emacs for example:

      (setq default-buffer-file-coding-system 'utf-8-unix)
      (set-default-coding-systems             'utf-8)
      (prefer-coding-system                   'utf-8)
      (modify-coding-system-alist 'process "\\*shell\\*\\'" 'utf-8)

and exceptions like these:

	(setq file-coding-system-alist
	  (append
	    '(("\\.tex\\'" iso-latin-9-unix . iso-latin-9-unix))
	;    '(("\\.el\\'"  iso-latin-9-unix . iso-latin-9-unix))
	    file-coding-system-alist))

In GNU Emacsen 21 and 22 the UTF-8 support is not perfect yet.

--
Greetings

   Pete

"Let's face it; we don't want a free market economy either."
         James Farley, president, Coca-Cola Export Corp., 1959

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: font or face problem in emacs
  2006-06-29 23:34   ` H.S.
@ 2006-06-30  9:03     ` Peter Dyballa
  0 siblings, 0 replies; 10+ messages in thread
From: Peter Dyballa @ 2006-06-30  9:03 UTC (permalink / raw)
  Cc: help-gnu-emacs


Am 30.06.2006 um 01:34 schrieb H.S.:

> Peter Dyballa wrote:
>
>> Make the *compilation* buffer be encoded in UTF-8 or make your  
>> LANG  or LC_CTYPE environment variables 8 bit -- could be there is  
>> some  option in your g++ to stay in 8 bit when printing some message.
>
> Yes, that is one method. But with all this talk of systems being  
> utf-8 compatible and such these days, I was expecting that  
> applications are getting better at this. If Emacs is not UTF-8  
> complaint, I would like to know for sure so that I can accomodate  
> other applications I use. On the other hand, if Emacs is expected  
> to recognize UTF-8, then there ought to be a way to make it do so  
> by default. All I want to know is which way is it?
>

GNU Emacs 21.4 is probably missing a lot (I don't use it, I 21.3.50  
from CVS around), version 22.0.50 is far away from an UTF-8  
application, at least with my customisation. GNU Emacs 23.0.0  
performs better, but has problems, too.

In 21.3.50 and 22.0.50 *shell* and dired buffers seem to have  
problems with UTF-8 file names, although in *shell* I can 'cat'  
kermit's utf_8.txt and some 10K glyphs are displayed. *compilation*  
or *Completions* work fine. It depends on your demands ...

Sometime in GNU Emacs 21.x code was introduced to read LANG and/or  
LC_CTYPE and prepare some default encoding of buffers based an these  
environment variables. Since then it's not necessary to set terminal  
or keyboard or clipboard or ... coding systems. There is much code  
that outputs only 7bit or 8bit messages. You can see from my *shell*  
example that most things work, but some don't. In GNU Emacs 23 for  
example the method of Mac OS X's HFS+ file system to store UTF-8 file  
names as decomposed characters leads to file names that look ugly  
because some mechanism builds from a and ¨ an ä. And somehow the  
combining modifier ¨ is not positioned correctly ... When the  
character is prêt-à-porter, "composed," as in kermit's utf_8.txt,  
then it looks fine -- but the fonts to display these characters  
change to so that the glyphs used do not fit in size and other  
parameters.

If there were a monospaced Unicode encoded font without gaps to span  
from SPACE to REPLACEMENT CHARACTER ([�] at FFFD) it wouldn't be so  
ugly. (There are two more PLANES with each 64K characters defined in  
Unicode 4.x.)

--
Greetings

   Pete

There are two major products that come out of Berkeley: LSD and UNIX.  
We don't believe this to be a coincidence.
                                          - Jeremy S. Anderson

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: font or face problem in emacs
  2006-06-29 22:18 ` Peter Dyballa
                     ` (2 preceding siblings ...)
  2006-06-29 23:34   ` H.S.
@ 2006-06-30 12:03   ` Eli Zaretskii
  2006-06-30 21:41     ` Peter Dyballa
  3 siblings, 1 reply; 10+ messages in thread
From: Eli Zaretskii @ 2006-06-30 12:03 UTC (permalink / raw)


> From: Peter Dyballa <Peter_Dyballa@Web.DE>
> Date: Fri, 30 Jun 2006 00:18:34 +0200
> Cc: help-gnu-emacs@gnu.org
> 
> Make the *compilation* buffer be encoded in UTF-8

In the interests of not getting users confused, and also to make the
terminology right, let me note that buffers in Emacs are not encoded,
neither in UTF-8 or Latin-1, nor in any other similar encoding.
Characters are only encoded by Emacs when it writes the buffer to a
file or sends it to some program.

What you probably wanted to say was ``make Emacs decode the compiler's
output as UTF-8''.  That is, things need to be set up so that Emacs
interprets the byte stream from the compiler as UTF-8 encoding of
Unicode characters.  It will then decode those bytes into the internal
representation used to store characters within Emacs buffers.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: font or face problem in emacs
  2006-06-30  8:41     ` Peter Dyballa
@ 2006-06-30 16:13       ` H.S.
  0 siblings, 0 replies; 10+ messages in thread
From: H.S. @ 2006-06-30 16:13 UTC (permalink / raw)


Peter Dyballa wrote:
> 
> Am 30.06.2006 um 00:37 schrieb H.S.:
> 
>> Yup, you are right. I just discovered another post in this  newsgroup. 
>> This seems to have worked:
>> M-x prefer-coding-system RET utf-8 RET
> 
> 
> You can set in .emacs for example:
> 
>      (setq default-buffer-file-coding-system 'utf-8-unix)
>      (set-default-coding-systems             'utf-8)
>      (prefer-coding-system                   'utf-8)
>      (modify-coding-system-alist 'process "\\*shell\\*\\'" 'utf-8)
> 
> and exceptions like these:
> 
>     (setq file-coding-system-alist
>       (append
>         '(("\\.tex\\'" iso-latin-9-unix . iso-latin-9-unix))
>     ;    '(("\\.el\\'"  iso-latin-9-unix . iso-latin-9-unix))
>         file-coding-system-alist))

Great, this is one of the options I was looking for.


> In GNU Emacsen 21 and 22 the UTF-8 support is not perfect yet.

And this explains a lot.

Thanks,
regards,
->HS

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: font or face problem in emacs
  2006-06-30 12:03   ` Eli Zaretskii
@ 2006-06-30 21:41     ` Peter Dyballa
  0 siblings, 0 replies; 10+ messages in thread
From: Peter Dyballa @ 2006-06-30 21:41 UTC (permalink / raw)
  Cc: help-gnu-emacs


Am 30.06.2006 um 14:03 schrieb Eli Zaretskii:

>> From: Peter Dyballa <Peter_Dyballa@Web.DE>
>> Date: Fri, 30 Jun 2006 00:18:34 +0200
>> Cc: help-gnu-emacs@gnu.org
>>
>> Make the *compilation* buffer be encoded in UTF-8
>
> In the interests of not getting users confused, and also to make the
> terminology right, let me note that buffers in Emacs are not encoded,
> neither in UTF-8 or Latin-1, nor in any other similar encoding.
> Characters are only encoded by Emacs when it writes the buffer to a
> file or sends it to some program.
>
> What you probably wanted to say was ``make Emacs decode the compiler's
> output as UTF-8''.  That is, things need to be set up so that Emacs
> interprets the byte stream from the compiler as UTF-8 encoding of
> Unicode characters.  It will then decode those bytes into the internal
> representation used to store characters within Emacs buffers.
>

Probably the way you put your words is what I meant to write -- but  
somehow I lost track of cause and effect! It's hard to find a  
difference between them in a world of quanta with German flags  
everywhere. Actually I haven't yet seen one coming out of a ... ahem,  
point in the back!

--
Greetings

   Pete

Sometimes I think the surest sign that intelligent life exists  
elsewhere in the universe is that none of it has tried to contact us.
                     -- Bill Watterson, in his comic strip Calvin and  
Hobbes

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2006-06-30 21:41 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-06-29 20:50 font or face problem in emacs H.S.
2006-06-29 22:18 ` Peter Dyballa
2006-06-29 22:37   ` H.S.
2006-06-30  8:41     ` Peter Dyballa
2006-06-30 16:13       ` H.S.
2006-06-29 22:47   ` Peter Dyballa
2006-06-29 23:34   ` H.S.
2006-06-30  9:03     ` Peter Dyballa
2006-06-30 12:03   ` Eli Zaretskii
2006-06-30 21:41     ` Peter Dyballa

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).