help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

problem displaying latin accents with emacs and mac os X


From: Pierre Albarede
Subject: problem displaying latin accents with emacs and mac os X
Date: Mon, 17 Mar 2003 22:29:54 +0100
User-agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US; rv:1.0.2) Gecko/20021120 Netscape/7.01

Hello.

There are many problems with non ASCII characters in emacs. I would like to share my findings and I also hope to get some help about a little bug of my own, please.

I use enhanced-carbon emacs (GNU Emacs 21.3.50.4) on mac os X.2.4(powerpc-apple-darwin6.2, kind of BSD unix).

I do not use x windows.

C-h h is an easy way to see how the emacs-mule (multi-lingual environment) system performs. For example, many Asian characters work fine on my system.

For more detail (jump to \end if you are in a hurry):

\begin{M-x mule says}

###############################################
### Current Status of Multilingual Features ###
###############################################

CONTENTS: Section 1.  General Information
          Section 2.  Display
          Section 3.  Input methods
          Section 4.  Coding systems
          Section 5.  Character sets
          Section 6.  Fontsets

########################################
# Section 1.  General Information
########################################

Version of this emacs:
  GNU Emacs 21.3.50.4 (powerpc-apple-darwin6.2)
 of 2002-12-01 on marx.local.

Configuration options:
'--with-carbon' '--without-x' '--prefix=/Applications/Emacs.app/Contents/Resources'

Multibyte characters awareness:
  default: t
  current-buffer: t

Current language environment: French

########################################
# Section 2.  Display
########################################

Window-system: mac1

Coding system of the terminal: iso-latin-1

########################################
# Section 3.  Input methods
########################################
[...]
French
  french-alt-postfix (`FR<' in mode line)
    French (FranÁais) input method with postfix modifiers
  french-azerty (`AZ@' in mode line)
    French (FranÁais) input method simulating Azerty keyboard
  french-keyboard (`FR@' in mode line)
    French (FranÁais) input method simulating some French keyboard
  french-postfix (`FR<' in mode line)
    French (FranÁais) input method with postfix modifiers
  french-prefix (`FR>' in mode line)
    French (FranÁais) input method with prefix modifiers
[...]
UTF-8
  TeX (`\' in mode line)
    LaTeX-like input method for many characters.
  rfc1345 (`m' in mode line)
Unicode characters input method using RFC1345 mnemonics (non-ASCII only).
  sgml (`&' in mode line)
    Unicode characters input method using SGML entities.
[...]
Default input method: latin-1-prefix
########################################
# Section 4.  Coding systems
########################################

#########################
## LIST OF CODING SYSTEMS
## Each line corresponds to one coding system
[...]
iso-latin-1,iso-8859-1,latin-1:2:1:3:ascii,latin-iso8859-1,-1,-1,0,0,0,0,0,0,0,0,0:ISO 2022 based 8-bit encoding for Latin-1 (MIME:ISO-8859-1).
[...]
mac-roman:4:M:3: decode-mac-roman,encode-mac-roman:Mac Roman Encoding (MIME:MACINTOSH).
[...]
############################
## LIST OF CODING CATEGORIES (ordered by priority)
## CATEGORY:CODING-SYSTEM
##
coding-category-iso-8-1:iso-latin-1
coding-category-iso-8-2:iso-latin-1
coding-category-iso-7-tight:iso-2022-jp
coding-category-iso-7:iso-2022-7bit
coding-category-iso-7-else:iso-2022-7bit-lock
coding-category-iso-8-else:iso-2022-8bit-ss2
coding-category-emacs-mule:emacs-mule
coding-category-raw-text:raw-text
coding-category-sjis:japanese-shift-jis
coding-category-big5:chinese-big5
coding-category-ccl:nil
coding-category-binary:no-conversion
coding-category-utf-16-be:nil
coding-category-utf-16-le:nil
coding-category-utf-8:mule-utf-8

########################################
# Section 5.  Character sets
########################################

#########################
## LIST OF CHARSETS
[...]
244:mule-unicode-0100-24ff:2:96:4:1:0:49:0:Unicode characters of the range U+0100..U+24FF. 243:mule-unicode-e000-ffff:2:96:4:1:0:51:0:Unicode characters of the range U+E000..U+FFFF. 242:mule-unicode-2500-33ff:2:96:4:1:0:50:0:Unicode characters of the range U+2500..U+33FF.
[...]
129:latin-iso8859-1:1:96:2:1:0:65:1:Right-Hand Part of Latin Alphabet 1 (ISO/IEC 8859-1): ISO-IR-100.
000:ascii:1:94:1:1:0:66:0:ASCII (ISO646 IRV)
[...]

########################################
# Section 6.  Fontsets
########################################

Fontset-Name                                              WDxHT Style
------------                                              ----- -----
Fontset: -apple-courier-medium-r-normal--14-*-*-*-*-*-fontset-courier
CHARSET or CHAR RANGE   FONT NAME
---------------------   ---------
ascii                   
-apple-courier-medium-r-normal--14-140-75-75-m-140-mac-roman
latin-iso8859-1 -apple-courier-medium-r-normal--14-140-75-75-m-140-mac-roman
[...]
mule-unicode-2500-33ff  -*-iso10646-1
mule-unicode-e000-ffff  -*-iso10646-1
mule-unicode-0100-24ff  -*-iso10646-1
[...]
Fontset: -etl-fixed-medium-r-normal-*-16-*-*-*-*-*-fontset-mac
CHARSET or CHAR RANGE   FONT NAME
---------------------   ---------
ascii                   
-apple-monaco-medium-r-normal--12-120-75-75-m-120-mac-roman
latin-iso8859-1
  †-?                   -*-monaco-*-mac-roman
latin-iso8859-2         -*-iso8859-2
latin-iso8859-3         -*-iso8859-3
latin-iso8859-4         -*-iso8859-4
thai-tis620             -*-*-*-tis620-*
greek-iso8859-7         -*-*-*-iso8859-7
arabic-iso8859-6        -*-*-*-iso8859-6
hebrew-iso8859-8        -*-*-*-iso8859-8
katakana-jisx0201       -*-*-*-jisx0201-*
latin-jisx0201          -*-jisx0201-*
cyrillic-iso8859-5      -*-*-*-iso8859-5
latin-iso8859-9         -*-iso8859-9
[...]
Fontset: -*-*-*-*-*-*-*-*-*-*-*-*-fontset-default
CHARSET or CHAR RANGE   FONT NAME
---------------------   ---------
ascii                   -apple-monaco-medium-r-*--*-120-*-*-*-*-mac-roman
     [-apple-courier-medium-i-normal--16-154-75-75-m-0-mac-roman]
     [-apple-courier-bold-r-normal--16-154-75-75-m-0-mac-roman]
     [-apple-courier-medium-r-normal--16-154-75-75-m-0-mac-roman]
latin-iso8859-1         -*-iso8859-1
latin-iso8859-2         -*-iso8859-2
latin-iso8859-3         -*-iso8859-3
latin-iso8859-4         -*-iso8859-4

\end{M-x mule says}

Another diagnosis  :

\begin{C-h C says}
Coding system for saving this buffer:
  1 -- iso-latin-1-unix

Default coding system (for new files):
  1 -- iso-latin-1 (alias: iso-8859-1 latin-1)

Coding system for keyboard input:
  1 -- iso-latin-1 (alias: iso-8859-1 latin-1)

Coding system for terminal output:
  1 -- iso-latin-1 (alias: iso-8859-1 latin-1)

Defaults for subprocess I/O:
  decoding: 1 -- iso-latin-1 (alias: iso-8859-1 latin-1)

  encoding: 1 -- iso-latin-1 (alias: iso-8859-1 latin-1)


Priority order for recognizing coding systems when reading files:
  1. iso-latin-1 (alias: iso-8859-1 latin-1)
  2. iso-2022-jp (alias: junet)
  3. iso-2022-7bit
  4. iso-2022-7bit-lock (alias: iso-2022-int-1)
  5. iso-2022-8bit-ss2
  6. emacs-mule
  7. raw-text
  8. japanese-shift-jis (alias: shift_jis sjis)
  9. chinese-big5 (alias: big5 cn-big5)
  10. no-conversion
  11. mule-utf-8 (alias: utf-8)

  Other coding systems cannot be distinguished automatically
  from these, and therefore cannot be recognized automatically
  with the present coding system priorities.

  The following are decoded correctly but recognized as iso-2022-7bit-lock:
    iso-2022-7bit-ss2 iso-2022-7bit-lock-ss2 iso-2022-cn iso-2022-cn-ext
    iso-2022-jp-2 iso-2022-kr

Particular coding systems specified for certain file names:

  OPERATION     TARGET PATTERN          CODING SYSTEM(s)
  ---------     --------------          ----------------
  File I/O      "\\.elc\\'"           (emacs-mule . emacs-mule)
                "\\.utf\\(-8\\)?\\'"  utf-8
                "\\(\\`\\|/\\)loaddefs.el\\'"
                                        (raw-text . raw-text-unix)
                "\\.tar\\'"           (no-conversion . no-conversion)
                "\\.po[tx]?\\'\\|\\.po\\."
                                        po-find-file-coding-system
                ""                    (undecided)
  Process I/O   nothing specified
  Network I/O   nothing specified

[back]

\end{C-h C says}

emacs is clever enough to configure itself from the environment variable LANG=fr_FR (to see it: M-x shell setenv).

All should be fine to write English and French in the iso-latin-1, iso-latin-9, mac-roman or utf-8 codings. (I am happy with only iso-latin-1, since I have conversion tools outside emacs - I can comment on that if you need.)

You can shift to any language preference with
M-x set-language-environment
and check with
M-: current-language-environment
and most variables will be set accordingly.

As emacs is not a converter, a buffer file coding system cannot be changed after the file has been found. But you can casually override the default file coding system with
C-x RET c universal-coding-system-argument
and check with
M-: buffer-file-coding-system
This might be necessary for a file containing some alien chars.

C-x RET k set-keyboard-coding-system
M-:keyboard-coding-system

C-x RET t...

Character palettes :
M-x list-character-sets

All these commands are very practical and not often mentioned.

---

Now my problem.

The only font displaying iso8859-1 accented characters is the default font, of size 14, definitely too small for my 12'' ibook display and my eyes.

;;default font: accents OK but size too small
(font . "-*-*-*-*-*--*-*-*-*-*-*-*")

Default font is (M-x describe-font)
-apple-courier-medium-r-normal--14-140-75-75-m-140-mac-roman

;;size OK but accents losts
;;(font . "-apple-courier-medium-r-normal--16-160-75-75-m-160-mac-roman")

Considering that fontsets are based on fonts, I have experimented only on fonts.

Other fonts (M-x set-frame-font) are either not better, undefined or display garbage.

There is no iso8859-1 font. Yet the default font (mac-roman) can display both mac-roman and iso8859-1.

After Reading The Fucking Manual, I have concluded that I missed GNU intl fonts. However, I cannot install them, because they rely on x ressources.

Thus, I am still looking for a way to display accented iso8859-1 characters in size 16, and hope to be finished by Christmas, with your kind help :=))









reply via email to

[Prev in Thread] Current Thread [Next in Thread]