My personal patches-in-progress branch of Org. See https://git.tecosaur.net/mirrors/org-mode/compare/main..tec/org-mode:dev.
Go to file
Yasushi SHOJI b7c1014353 ox-ascii: Convert `length' to `string-width'
* lisp/ox-ascii.el (org-ascii--current-text-width): Convert `length'
  to `string-width'.
  (org-ascii--build-title, org-ascii--build-toc)
  (org-ascii--list-listings, org-ascii--list-tables)
  (org-ascii-template--document-title)
  (org-ascii-inner-template, org-ascii-format-inlinetask-default)
  (org-ascii-format-inlinetask-default, org-ascii-item
  (org-ascii--table-cell-width, org-ascii-table-cell)
  (org-ascii--current-text-width): Likewise.

I've checked all occurrences of the function `length' in ox-ascii.el.
It turns out that the most of them are calculating the width of given
string.  To support fullwidth characters, we better use `string-width'
instead of `length'.

Some characters in UCS are categorized as "East Asian Ambiguous"[1].
The return value of `string-width' with those characters depends on
how Emacs is setup.  We leave those ambiguous character handling to
Emacs.

Two usages of `length' in `ox-ascii.el' were left as-is, because those
were used for:

 - bullet depth calculation in `org-ascii-headline', and
 - cell position calculation in `org-ascii--table-cell-width'.

[1]: http://www.unicode.org/reports/tr11/#Ambiguous
2014-01-16 16:17:48 +01:00
contrib Update copyright years again. 2014-01-07 14:18:17 +01:00
doc Backport typo fix from Emacs revno r116017 2014-01-13 23:26:17 +01:00
etc Backport changes from r115955 2014-01-10 10:29:53 +01:00
lisp ox-ascii: Convert `length' to `string-width' 2014-01-16 16:17:48 +01:00
mk Update copyright years again. 2014-01-07 14:18:17 +01:00
testing Update copyright years again. 2014-01-07 14:18:17 +01:00
.dir-locals.el Directory local variables: Set sentence-end-double-space to t 2012-08-10 09:24:19 +02:00
.dir-settings.el Directory local variables: Set sentence-end-double-space to t 2012-08-10 09:24:19 +02:00
.gitignore Fix references to org-install.el. 2012-10-02 12:19:39 +02:00
.gitmodules updated jump submodule for those behind http proxy 2013-06-06 14:36:24 -06:00
COPYING Add COPYING and fix other related issues. 2012-09-24 19:15:42 +02:00
Makefile Fix references to org-install.el. 2012-10-02 12:19:39 +02:00
README Update READMEs 2013-03-23 17:34:19 +01:00
README_ELPA Update READMEs 2013-03-23 17:34:19 +01:00
README_contribute Small fixes to the README files and to mk/server.mk 2012-09-22 10:33:12 +02:00
README_git Add COPYING and fix other related issues. 2012-09-24 19:15:42 +02:00
README_maintainer README_maintainer: Fix erroneous statement 2013-11-11 16:59:19 +01:00
request-assign-future.txt Release 5.13e 2008-01-31 11:37:24 +01:00

README

The is a distribution of Org, a plain text notes and project planning
tool for Emacs.

The homepage of Org is at:
  http://orgmode.org

The installations instructions are at:
  http://orgmode.org/org.html#Installation

This distribution contains:

README
    This file.

COPYING
    The GNU General Public License.

Makefile
    The makefile to compile and install Org.  For installation
    instructions, see the manual or the more detailed procedure
    on Worg: http://orgmode.org/worg/dev/org-build-system.html

mk/
    Files needed for building Org.

lisp/
    Directory with all the Emacs Lisp files that make up Org.

doc/
    The documentation files.  org.texi is the source of the
    documentation, org.html and org.pdf are formatted versions of it.

contrib/
    A directory with third-party additions for Org.  Some really cool
    stuff is in there.

etc/
    Files needed for the ODT exporter.

testing/
    Testing suite for Org.

request-assign-future.txt
    The form that contributors have to sign and get processed with
    the FSF before contributed changes can be integrated into the Org
    core.  All files in this distribution except the contrib/ directory
    have copyright assigned to the FSF.