Lines 705-710
static void DrawPrinterLayout( const SalLayout& rLayout, ::psp::PrinterGfx& rGfx
Link Here
|
705 |
const sal_Unicode* pText = NULL; |
705 |
const sal_Unicode* pText = NULL; |
706 |
int nMinCharPos = 0; |
706 |
int nMinCharPos = 0; |
707 |
int nMaxCharPos = 0; |
707 |
int nMaxCharPos = 0; |
|
|
708 |
int nCharPosOfs = 0; |
708 |
if (bIsPspServerFontLayout) |
709 |
if (bIsPspServerFontLayout) |
709 |
{ |
710 |
{ |
710 |
const PspServerFontLayout * pPspLayout = dynamic_cast<const PspServerFontLayout*>(&rLayout); |
711 |
const PspServerFontLayout * pPspLayout = dynamic_cast<const PspServerFontLayout*>(&rLayout); |
Lines 723-728
static void DrawPrinterLayout( const SalLayout& rLayout, ::psp::PrinterGfx& rGfx
Link Here
|
723 |
pText = pGrLayout->getTextPtr(); |
724 |
pText = pGrLayout->getTextPtr(); |
724 |
nMinCharPos = pGrLayout->getMinCharPos(); |
725 |
nMinCharPos = pGrLayout->getMinCharPos(); |
725 |
nMaxCharPos = pGrLayout->getMaxCharPos(); |
726 |
nMaxCharPos = pGrLayout->getMaxCharPos(); |
|
|
727 |
nCharPosOfs = nMinCharPos; |
726 |
} |
728 |
} |
727 |
#endif |
729 |
#endif |
728 |
} |
730 |
} |
Lines 739-745
static void DrawPrinterLayout( const SalLayout& rLayout, ::psp::PrinterGfx& rGfx
Link Here
|
739 |
aIdxAry[ i ] = nXOffset / nUnitsPerPixel; |
741 |
aIdxAry[ i ] = nXOffset / nUnitsPerPixel; |
740 |
sal_Int32 nGlyphIdx = aGlyphAry[i] & (GF_IDXMASK | GF_ROTMASK); |
742 |
sal_Int32 nGlyphIdx = aGlyphAry[i] & (GF_IDXMASK | GF_ROTMASK); |
741 |
if( bIsPspServerFontLayout ) |
743 |
if( bIsPspServerFontLayout ) |
742 |
aUnicodes[i] = (aCharPosAry[i] >= nMinCharPos && aCharPosAry[i] <= nMaxCharPos) ? pText[ aCharPosAry[i] ] : 0; |
744 |
aUnicodes[i] = (aCharPosAry[i] >= nMinCharPos && aCharPosAry[i] <= nMaxCharPos) ? pText[ aCharPosAry[i]-nCharPosOfs ] : 0; |
743 |
else |
745 |
else |
744 |
aUnicodes[i] = (aGlyphAry[i] & GF_ISCHAR) ? nGlyphIdx : 0; |
746 |
aUnicodes[i] = (aGlyphAry[i] & GF_ISCHAR) ? nGlyphIdx : 0; |
745 |
aGlyphAry[i] = nGlyphIdx; |
747 |
aGlyphAry[i] = nGlyphIdx; |