emacs-bidi
[Top][All Lists]
Advanced

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

[emacs-bidi] Re: emacs-bidi: arabic


From: Alex Schroeder
Subject: [emacs-bidi] Re: emacs-bidi: arabic
Date: Wed, 11 Sep 2002 15:54:44 +0200
User-agent: Gnus/5.090008 (Oort Gnus v0.08) Emacs/21.2.90 (i686-pc-linux-gnu)

TAKAHASHI Naoto <address@hidden> writes:

>> When I enable auto composition, then there is no font available (I use
>> the m17 font tarball you suggest on the web site).  The characters are
>> all hollow boxes.  When I disable font-lock-mode, it works again --
>
> What do you mean by "it works again"?  Does "works" mean "Arabic
> characters are displayed"?  If so, when did it "work" before?  Before
> you enabled auto-composition?

Sorry for the poor wording.  When I type the characters, the glyphs
are displayed.  When I enable auto-composition, the glyphs are
replaced by rectangles.  When I call M-x font-lock-mode, the glyphs
are displayed again -- but without composition.  I guess this means
when I disable font-lock-mode, auto-composition is disabled as well.
This seems logical in retrospect, but confused me at the time, because
the menu item remained checked.  Perhaps font-lock should set
composition-lock-mode as well.  That is, if I read the keymap
correctly.  As you say on the web page that the latest font-lock stuff
gives you trouble, this is probably not urgent.

>> How can I check wether the right fonts are used?
>
> M-x describe-fontset

This seems to have a standard value, except for the few Neep Alt
mentionings.

Fontset: -*-*-medium-r-*-*-20-*-*-*-c-*-fontset-startup
CHARSET or CHAR RANGE   FONT NAME
---------------------   ---------
ascii                   -jmk-neep 
alt-medium-r-normal--20-180-75-75-c-100-iso8859-1
     [-jmk-Neep Alt-Bold-R-Normal--20-180-75-75-C-100-ISO8859-1]
     [-jmk-Neep Alt-Medium-R-Normal--20-180-75-75-C-100-ISO8859-1]
latin-iso8859-1         -jmk-neep alt-*-iso8859-1
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
latin-iso8859-15        -*-iso8859-15
latin-iso8859-14        -*-iso8859-14
japanese-jisx0208-1978  -*-*-*-jisx0208.1978-*
chinese-gb2312          -*-*-*-gb2312.1980-*
japanese-jisx0208       -*-*-*-jisx0208.1990-*
korean-ksc5601          -*-*-*-ksc5601.1989-*
japanese-jisx0212       -*-*-*-jisx0212-*
chinese-cns11643-1      -*-*-*-cns11643.1992-1
chinese-cns11643-2      -*-*-*-cns11643.1992-2
japanese-jisx0213-1     -*-*-*-jisx0213.2000-1
chinese-big5-1          -*-*-*-big5-*
chinese-big5-2          -*-*-*-big5-*
chinese-sisheng         -*-sisheng_cwnn-*
ipa                     -*-muleipa-*
vietnamese-viscii-lower -*-viscii1.1-*
vietnamese-viscii-upper -*-viscii1.1-*
arabic-digit            -*-*-*-mulearabic-0
arabic-1-column         -*-*-*-mulearabic-1
ascii-right-to-left     -*-iso8859-1
lao                     -*-*-*-mulelao-1
arabic-2-column         -*-*-*-mulearabic-2
indian-is13194          -*-*-*-is13194-devanagari
indian-glyph            -*-*-*-devanagari-cdac
tibetan-1-column        -*-*-*-muletibetan-1
mule-unicode-2500-33ff  -*-iso10646-1
mule-unicode-e000-ffff  -*-iso10646-1
mule-unicode-0100-24ff  -*-iso10646-1
     [-Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO10646-1]
ethiopic                -*-*-*-ethiopic-unicode
chinese-cns11643-3      -*-*-*-cns11643.1992-3
chinese-cns11643-4      -*-*-*-cns11643.1992-4
chinese-cns11643-5      -*-*-*-cns11643.1992-5
chinese-cns11643-6      -*-*-*-cns11643.1992-6
chinese-cns11643-7      -*-*-*-cns11643.1992-7
indian-2-column         -*-*-*-muleindian-2
tibetan                 -*-proportional-*-muletibetan-2
japanese-jisx0213-2     -*-*-*-jisx0213.2000-2

Based on this, I assumed that perhaps no ISO 10646 font was
installed.  However:

/home/alex/elisp $ xlsfonts -fn "-*-iso10646-1"|wc -l
    858

Running C-u C-x = on one of the empty boxes returned the following:

  character: ي (01213452, 333610, 0x5172a)
    charset: mule-unicode-0100-24ff
             (Unicode characters of the range U+0100..U+24FF.)
 code point: 46 42
     syntax: w  which means: word
   category: ?:Auto composition activator   b:Arabic  
 Properties: arabic-isolated-form: 325969; arabic-final-form: 325970;
             arabic-initial-form: 325971; arabic-medial-form: 325972;
buffer code: 0x9C 0xF4 0xAE 0xAA
  file code: 0xD9 0x8A (encoded by coding system mule-utf-8-unix)
    Unicode: 064A
       font: -Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO10646-1

Composed with the following character(s)  to form `ي'.

There are text properties here:
  fontified            t
  composition          (12 1
    [325972])

Ok, I checked again for the font used:

/home/alex/elisp $ xlsfonts -fn 
"-Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO10646-1"
-misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1
-misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1
-misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1

Perhaps the correct question to ask is "How do I check wether the
characters in the given range are really in font X?"

I then tried this shell script to start emacs-bidi:

if xlsfonts | grep -q m17n; then
    echo "m17n fonts are already installed"
else
    echo "m17n fontpath added"
    xset +fp /usr/local/src/m17nfonts/
fi
exec /usr/local/src/emacs-bidi/src/emacs -geometry 80x20 -fn 
"-m17n-mule-medium-r-normal--20-140-100-100-p-90-iso10646-1" -q -l 
/home/alex/elisp/arabic-init.el

Where arabic-init.el contains:

(set-language-environment "Arabic")
(find-file "~/arabic.txt")

When I do this, composition results in glyphs being displayed -- yay!

One other problem pops up then, however.  Something with the frame
size and font positioning is wrong.  The resulting frame is 227 normal
(latin number) characters long.  For each lating character, there is a
lot of whitespace above and below, such that latin text seems to be
double spaced.  I can provide screenshots if you are interested.

The Emacs I use for dayly work is GNU Emacs 21.2.90.1
(i686-pc-linux-gnu, X toolkit, Xaw3d scroll bars) of 2002-05-28 on
confusibombus -- and it also does not like the m17n fonts.  When I run
the following code, there is no double spacing, but the frame is also
resized such that it covers two of my virtual displays, where each
display is 1600x1200, I think.

(set-frame-font "-m17n-mule-medium-r-normal--20-140-100-100-p-90-iso10646-1")

Perhaps I did something wrong when installing the m17n fonts, or there
is some bad interaction with my X?

Alex.




reply via email to

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