emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Eric Abrahamsen <eric@ericabrahamsen.net>
To: emacs-orgmode@gnu.org
Subject: Re: [PATCH] Re: double-width characters in tables
Date: Wed, 13 Feb 2013 21:18:45 +0800	[thread overview]
Message-ID: <87obfonyh6.fsf@ericabrahamsen.net> (raw)
In-Reply-To: 87wqucwkwp.fsf@bzg.ath.cx

Bastien <bzg@altern.org> writes:

> Hi Eric,
>
> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>
>> -		    l (max 1 (- (match-end 0) (match-beginning 0) 3))
>> +		    l (max 1
>> +			   (- (org-string-width
>> +			       (buffer-substring
>> +				(match-end 0) (match-beginning 0))) 3))
>
> (Why not just (org-string-width (match-string 0))?)
>
> Let me know when you're done with extensive testing for this!

I think the reason I went with buffer-substring is that it will *fix*
messed up justification. (match-string 0) will not mess up the
justification if it's already correct, but it won't fix it if it isn't.

Actually, shortly after sending that patch I moved to using
buffer-substring-no-properties, which has the added benefit that fields
with links or other types of hidden text will justify correctly. Unless
I'm mistaken, putting links in table fields will currently result in
too-short justification as handled by org-table-justify-field-maybe (as
always, a full re-align with org-table-align fixes things). Unless the
buffer-substring call is particularly expensive, I think it's worth it.

Re testing: apart from mixing scripts and languages in one field, what
else should be tested? You mentioned cleaning up other problems while
we're at it -- does anyone have anything outstanding?

Inevitably (I think), none of this works when the wrong typeface is
being used for particular characters. I have no specifications for
Cyrillic, for example, which means my system renders it in with a
Chinese typeface, resulting in double-wide glyphs for characters that
should be single-width, and bad table justification. I think this has to
be addressed by the user.

E

  reply	other threads:[~2013-02-13 13:14 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-12 10:56 double-width characters in tables Eric Abrahamsen
2013-02-12 11:02 ` Jambunathan K
2013-02-12 11:22   ` Bastien
2013-02-12 11:16 ` Bastien
2013-02-12 15:43   ` Eric Abrahamsen
2013-02-12 15:50     ` Nick Dokos
2013-02-12 15:55     ` Bastien
2013-02-12 17:55       ` Takaaki ISHIKAWA
2013-02-12 18:43     ` Achim Gratz
2013-02-13  1:46       ` Eric Abrahamsen
2013-02-13  2:23         ` [PATCH] " Eric Abrahamsen
2013-02-13 11:42           ` Bastien
2013-02-13 13:18             ` Eric Abrahamsen [this message]
2013-02-13  8:50         ` Eric Abrahamsen
2013-02-13 11:31         ` Bastien

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.orgmode.org/

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

  git send-email \
    --in-reply-to=87obfonyh6.fsf@ericabrahamsen.net \
    --to=eric@ericabrahamsen.net \
    --cc=emacs-orgmode@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/org-mode.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).