Kaydet (Commit) d13e9bac authored tarafından Khaled Hosny's avatar Khaled Hosny Kaydeden (comit) Thorsten Behrens

Fix Kashida justification when there is no Kashida glyph

üst dabe836c
...@@ -164,6 +164,10 @@ bool lcl_CheckKashidaPositions( SwScriptInfo& rSI, SwTxtSizeInfo& rInf, SwTxtIte ...@@ -164,6 +164,10 @@ bool lcl_CheckKashidaPositions( SwScriptInfo& rSI, SwTxtSizeInfo& rInf, SwTxtIte
xub_StrLen nKashidasInAttr = rSI.KashidaJustify ( 0, 0, nIdx, nNext - nIdx ); xub_StrLen nKashidasInAttr = rSI.KashidaJustify ( 0, 0, nIdx, nNext - nIdx );
if ( nKashidasInAttr ) if ( nKashidasInAttr )
{ {
// Kashida glyph looks suspicious, skip Kashida justification
if ( rInf.GetOut()->GetMinKashida() <= 0 )
return false;
xub_StrLen nKashidasDropped = 0; xub_StrLen nKashidasDropped = 0;
if ( !SwScriptInfo::IsArabicText( rInf.GetTxt(), nIdx, nNext - nIdx ) ) if ( !SwScriptInfo::IsArabicText( rInf.GetTxt(), nIdx, nNext - nIdx ) )
{ {
......
...@@ -1097,7 +1097,6 @@ void ServerFont::FetchFontMetric( ImplFontMetricData& rTo, long& rFactor ) const ...@@ -1097,7 +1097,6 @@ void ServerFont::FetchFontMetric( ImplFontMetricData& rTo, long& rFactor ) const
// initialize kashida width // initialize kashida width
// TODO: what if there are different versions of this glyph available // TODO: what if there are different versions of this glyph available
rTo.mnMinKashida = rTo.mnAscent / 4; // a reasonable default
const int nKashidaGlyphId = GetRawGlyphIndex( 0x0640 ); const int nKashidaGlyphId = GetRawGlyphIndex( 0x0640 );
if( nKashidaGlyphId ) if( nKashidaGlyphId )
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment