Hi Frank,
I've changed portxt.cxx like that:
********************************************************************************************************

// Kashida Justification: Insert Kashidas

   if ( nEnd > nPos && pSI && COMPLEX == nScript )
   {
       LanguageType aLang =
           rInf.GetTxtFrm()->GetTxtNode()->GetLang( rInf.GetIdx(), 1,
nScript );

       if ( SwScriptInfo::IsArabicLanguage( aLang ) )
       {//return pSI->KashidaJustify( 0, 0, nPos, nEnd - nPos ); tayir
2006-11-28

           const sal_Bool bDoNotAddSpace =
           COMPLEX == nScript && ( nEnd == nPos + 1 ) && pSI &&
           ( ::com::sun::star::i18n::ScriptType::COMPLEX ==
             pSI->ScriptType( nPos + 1 ) ) &&
           rInf.GetTxtFrm() && rInf.GetTxtFrm()->IsRightToLeft();

     if ( bDoNotAddSpace )
         return nCnt;

     for ( ; nPos < nEnd; ++nPos )
     {
         if( CH_BLANK == pStr->GetChar( nPos ) )
             ++nCnt;
     }


    }
   }
**********************************************************************************************************
But it did not work, I guess the problem is in fntcache.cxx, you said
nSpaceAdd
value used in fntcache.cxx is not correct. How could I make nSpaceAdd
returns correct value?
Note: I've disabled connecting opportunities (kashida) in porlay.cxx
Sincerely,
Tayir

2006/11/27, Frank Meies - Sun Germany - Development - Software Engineer <
[EMAIL PROTECTED]>:

Hi Tayir,

On 11/27/06 15:09, tayir tayir wrote:

> Hi Frank,
> I've already disabled kashida justification, but not portxt.cxx. You've
> told
> me I should disable kashida justification in fntcache.cxx and porlay.cxx.
> It just like showed in the picture, the letters belongs to western
language
> can be justified correctly that means spaces added after each word, but
the
> letters belongs to Arabic language can not be justified correctly .

1. Your changes in fntcache.cxx are correct
2. You have to change portxt.cxx, lcl_AddSpace, otherwise the nSpaceAdd
value used in fntcache.cxx is not correct. lcl_AddSpace calculates the
number of positions which should be expanded. In Western languages this
is the number of blanks, for Arabic languages this is the number of
possible kashida positions in the current line, as calculated in
porlay.cxx. Simply disable the kashida stuff in portxt.cxx
3. Optionally you can disable the whole kashida stuff in porlay.cxx,
since it won't be used any longer.

Regards,

Frank

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


  • Re: [sw-discus... Frank Meies - Sun Germany - Development - Software Engineer
    • Re: [sw-d... tayir tayir
      • Re: [... Frank Meies - Sun Germany - Development - Software Engineer
        • R... tayir tayir
          • ... Frank Meies - Sun Germany - Development - Software Engineer
            • ... tayir tayir
            • ... tayir tayir
            • ... Frank Meies - Sun Germany - Development - Software Engineer
            • ... tayir tayir
            • ... Frank Meies - Sun Germany - Development - Software Engineer
            • ... tayir tayir
            • ... Frank Meies - Sun Germany - Development - Software Engineer
            • ... tayir tayir

Reply via email to