unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Kenichi Handa <handa@m17n.org>
Cc: emacs-bidi@gnu.org, emacs-devel@gnu.org, jasonr@gnu.org
Subject: Re: Arabic support
Date: Wed, 01 Sep 2010 02:11:24 -0400	[thread overview]
Message-ID: <E1OqgXc-0001rS-49@fencepost.gnu.org> (raw)
In-Reply-To: <tl7pqwy1a3k.fsf@m17n.org> (message from Kenichi Handa on Wed, 01 Sep 2010 11:17:03 +0900)

> From: Kenichi Handa <handa@m17n.org>
> Cc: jasonr@gnu.org, emacs-bidi@gnu.org, emacs-devel@gnu.org
> Date: Wed, 01 Sep 2010 11:17:03 +0900
> 
> I read the function uniscribe_shape roughly.  It has this
> code:
> 
>   for (i = 0; i < nitems; i++)
>     {
>       int nglyphs, nchars_in_run, rtl = items[i].a.fRTL ? -1 : 1;
> [...]
>           if (SUCCEEDED (result))
> 	    {
> 	      int j, nclusters, from, to;
> 
> 	      from = rtl > 0 ? 0 : nchars_in_run - 1;
> 
> Doesn't it mean uniscribe_shape reorders glyphs?

This reorders a single LGSTRING, according to my reading.  Isn't an
LGSTRING a single grapheme cluster, rather than several distinct
characters?

Btw, where's the documentation of LGSTRING?  The commentary to
uniscribe_shape says to look in font-make-gstring, but I cannot find
that, neither as function nor as variable.  In general, everything
about compositions and lgstrings needs a lot more of documentation.

  parent reply	other threads:[~2010-09-01  6:11 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-26  1:10 Arabic support Kenichi Handa
2010-08-27  9:56 ` Eli Zaretskii
2010-08-28 10:15   ` Amit Aronovitch
2010-08-29  5:07     ` James Cloos
2010-08-29  5:13     ` James Cloos
2010-08-30  2:07     ` Kenichi Handa
2010-08-30 13:42       ` Amit Aronovitch
2010-08-30 14:11         ` [emacs-bidi] " Amit Aronovitch
2010-09-03  7:35           ` Kenichi Handa
2010-09-03  7:54             ` [emacs-bidi] " Amit Aronovitch
2010-09-01  2:55         ` Kenichi Handa
2010-09-01  4:58           ` Eli Zaretskii
2010-09-01  5:06             ` Kenichi Handa
2010-09-01  7:12           ` [emacs-bidi] " Stefan Monnier
2010-09-03  7:17             ` Kenichi Handa
2010-08-30  7:47   ` Kenichi Handa
2010-08-30 14:06     ` Eli Zaretskii
2010-09-01  2:17       ` Kenichi Handa
2010-09-01  3:47         ` "Martin J. Dürst"
2010-09-02  7:45           ` 大嶋 俊祐
2010-09-02  9:31             ` Eli Zaretskii
2010-09-02 12:58               ` "Martin J. Dürst"
2010-09-02 14:13                 ` [emacs-bidi] " Eli Zaretskii
2010-09-01  6:11         ` Eli Zaretskii [this message]
2010-09-01  7:08           ` Kenichi Handa
2010-09-01 17:55             ` Eli Zaretskii
2010-09-02  2:13               ` Jason Rumney
2010-09-02 11:53             ` Eli Zaretskii
2010-09-02 12:00               ` Eli Zaretskii
2010-09-02 13:09                 ` [emacs-bidi] " Jason Rumney
2010-09-02 14:29                   ` Eli Zaretskii
2010-09-02 14:37                     ` [emacs-bidi] " Jason Rumney
2010-09-02 13:01               ` Kenichi Handa
2010-09-02 14:04                 ` Eli Zaretskii
2010-09-03  1:00                   ` Kenichi Handa
2010-09-03  9:16                     ` Eli Zaretskii
2010-09-03 10:18                       ` David Kastrup
2010-09-03 11:08                       ` Kenichi Handa
2010-09-03 14:54                         ` Eli Zaretskii
2010-09-03 13:25                     ` Eli Zaretskii
2010-09-03 14:32                       ` Amit Aronovitch
2010-09-03 14:43                         ` Eli Zaretskii
2010-09-04  7:13                       ` Eli Zaretskii
2010-09-06  6:04                         ` Kenichi Handa
2010-09-04 15:29                     ` Eli Zaretskii
2010-09-02 13:48       ` Jason Rumney
2010-09-02 14:49         ` Eli Zaretskii
2010-09-06 13:45   ` Thamer Mahmoud
2010-09-07  4:22     ` TAKAHASHI Naoto
  -- strict thread matches above, loose matches on Subject: below --
2010-09-07 15:08 mhibti
2010-09-13  6:40 ` Eli Zaretskii
2010-09-16  2:07   ` Kenichi Handa
2010-09-22  3:54     ` Kenichi Handa
2010-09-22 12:27       ` Thamer Mahmoud

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E1OqgXc-0001rS-49@fencepost.gnu.org \
    --to=eliz@gnu.org \
    --cc=emacs-bidi@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=handa@m17n.org \
    --cc=jasonr@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

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).