On Wed, Nov 28, 2018 at 11:19 PM Bahman Eslami <[email protected]> wrote:
>
> On Wednesday, November 28, 2018 at 11:04:29 PM UTC+1, Tony Mechelynck wrote:
> > On Wed, Nov 28, 2018 at 10:23 PM Bahman Eslami <[email protected]> 
> > wrote:
> > > In a case a user doesn't want to have arabic nor faris in the vim, they 
> > > can build the vim with the 'normal' feature flag but they would miss 
> > > other features like langmap, but if they want to build it with langmap 
> > > feature, they need the 'huge' feature flag which also includes the 
> > > arabic. There is also no flag to disable nor enable arabic while building 
> > > the vim. So the only way to disable them is to change the source which is 
> > > how I do it. Now I give you an example what goes wrong with the arabic 
> > > enabled.
> >
> > > I use the native terminal app in OSX which supports bidi text perfectly 
> > > even when it comes to selecting text.
> >
> > What is the $TERM setting when you run Console Vim (not gvim) in that
> > terminal? Depending on its value, there are variant ways to tell Vim
> > that the terminal has full-bidi capabilities:
> >
> > * Possibility 1: $TERM is 'mlterm'
> >     o Do nothing. Vim knows that mlterm is a full-bidi terminal.
> > * Possibility 2: $TERM is another unambiguously recognisable name,
> > let's say (for the sake of argument) 'system-bidi'.
> >     o Add near the top of yout vimrc the following snippet:
> >         if &term == 'system-bidi' && has('arabic')
> >             set termbidi
> >         endif
> > * Possibility 3: $TERM is not unambiguously recognizable, let's say it
> > is 'xterm' which too many fake-xterm terminals use nowadays:
> >     o Start Vim (when running in that terminal) as:
> >            vim --cmd 'silent! set termbidi'
> >         If your shell supports aliases, you can define the following
> > alias (as I would do it for bash, which is an alias-supporting shell)
> >             alias vim='/usr/local/bin/vim --cmd "silent! set termbidi"'
> >         Replace /usr/local/bin/vim by the path to your Vim executable
> > if it is something else, of course.
>
> Tony,
>
> Thanks for the explanation. When I echo the $TERM in vim I get: 
> xterm-256color. So I used your solution to add 'set termbidi' with the vim 
> build that includes the arabic feature but I still get incorrect Arabic 
> shaping. I also get very abnormal behavior. If I type the following text or 
> even paste it:
>
> نوتشن فارسی
>
> I get the following result in vim, which even in length does not match the 
> input:
>
> ?~F?~Hشت?~F ?~Aارس?~L
>
> I guess it didn't do much for my case.
>
> Thanks,
> Bahman

Weird. My guess is that there is an encoding misunderstanding, but I
could be wrong about that. AFAIK, the +arabic feature works best when
Vim uses UTF-8 'encoding'. Try adding the following (with the
comments, meant to help you understand it even later on) near the top
of your vimrc:

if has('multi_byte')
  if &enc !~? '^u'
    if &tenc == ""
      let &tenc = &enc
    endif
    set enc=utf-8
  endif
  scriptencoding utf-8                " see note 1
  " set fencs=ucs-bom,utf-8,default,latin1 " see note 2
  setg fenc=utf-8
  " setg bomb                           " see note 3
endif
" Notes:
" 1. :scriptencoding utf-8 means that this vimrc is encoded in UTF-8.
"     Anything in ASCII is expressed byte-by-byte identically in
"     UTF-8 anyway. The difference is only felt when using
"     characters not present in Latin1 or characters whose Latin1
"     representation is > 0x7F.
" 2. 'fileencodings' (plural) defines the heuristic used when opening
"     an existing file. The value (commented-out) here is Vim's
"     Unicode default. Other values can be used depending on
"     the language(s) used most on this installation. The actual
"     value used should start with "ucs-bom,utf-8" in that order,
"     and the last comma-separated field (and _only_ the last one)
"     should be an 8-bit charset, which will be used as fallback if
"     everything else fails.
" 3. :setg bomb sets the default 'bomb' setting to TRUE when
"     creating a new Unicode file. It has its pluses and minuses.
"     If the other settings above work the way they should,
"     we can try uncommenting that line to see if we prefer
"     running Vim with or without it.


Best regards,
Tony.

-- 
-- 
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to