Tony Mechelynck wrote:

>
>It all depends on what exactly you want to do. (I haven't read the Align.vim 
>docs.) The length of a UTF-8 string can be counted in several nonequivalent 
>ways:
>
>- number of bytes (Latin a + combining circumflex is three bytes):
>       strlen(string)
>
>- number of codepoints (Latin a + combining circumflex is two codepoints):
>       strlen(substitute(string, '.', 'x', 'g'))
>
>- number of spacing codepoints (Latin a + combining circumflex is one spacing 
>codepoint; a hard tab is one; wide and narrow CJK are one each; etc.): 
>(untested)
>       strlen(substitute(string, '.\Z', 'x', 'g'))
>
>- virtual length (counting, for instance, tabs as anything between 1 and 
>'tabstop', wide CJK as 2 rather than 1, Arabic alif as zero when immediately 
>preceded by lam, one otherwise, etc.): I guess something like what you're 
>doing above will be necessary because of the wide range of things that can 
>happen.
>
>The first two above are documented at ":help strlen()", the third (in 
>addition) at ":help patterns-composing".
>  
>
Thank you,  Tony, for that explanation!  I've modified Align so that the 
method used is selectable by the user.  Align v33d available at my 
website (http://mysite.verizon.net/astronaut/vim/index.html#ALIGN) with 
these changes.

Regards,
Chip Campbell

--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---

Raspunde prin e-mail lui