? local_install ? colorenv ? superfiedl.patch ? superfield.patch ? src/Linux_2.2.14-5.0_i386_DBG Index: src/text/fmt/xp/fp_Run.cpp =================================================================== RCS file: /cvsroot/abi/src/text/fmt/xp/fp_Run.cpp,v retrieving revision 1.96 diff -r1.96 fp_Run.cpp 936a937,938 > > PD_Document * pDoc = m_pBL->getDocument(); 946a949 > 958a962,974 > > const XML_Char * pszPosition = PP_evalProperty("text-position",pSpanAP,pBlockAP,pSectionAP, pDoc, UT_TRUE); > > if (0 == UT_stricmp(pszPosition, "superscript")) > { > m_fPosition = TEXT_POSITION_SUPERSCRIPT; > } > else if (0 == UT_stricmp(pszPosition, "subscript")) > { > m_fPosition = TEXT_POSITION_SUBSCRIPT; > } > else m_fPosition = TEXT_POSITION_NORMAL; > 992a1009,1018 > UT_Bool fp_FieldRun::isSuperscript(void) const > { > return (m_fPosition == TEXT_POSITION_SUPERSCRIPT); > } > > UT_Bool fp_FieldRun::isSubscript(void) const > { > return (m_fPosition == TEXT_POSITION_SUBSCRIPT); > } > 1008a1035,1052 > > // Assuming there is only one offset in this Run, the point > // can be either before or after this offset. Return X > // position accordingly. > UT_ASSERT(1 == m_iLen); > if (iOffset > m_iOffsetFirst) > { > xoff += m_iWidth; > } > if (m_fPosition == TEXT_POSITION_SUPERSCRIPT) > { > yoff -= m_iAscent * 1/2; > } > else if (m_fPosition == TEXT_POSITION_SUBSCRIPT) > { > yoff += m_iDescent /* * 3/2 */; > } > 1030a1075,1082 > UT_sint32 iFillHeight; > UT_sint32 iFillTop; > > UT_sint32 xoff = 0, yoff = 0; > m_pLine->getScreenOffsets(this, xoff, yoff); > UT_sint32 iYdraw = yoff; > > 1047,1049c1099,1113 < UT_sint32 iFillHeight = m_pLine->getHeight(); < UT_sint32 iFillTop = pDA->yoff - m_pLine->getAscent(); < --- > iFillHeight = m_pLine->getHeight(); > iFillTop = iYdraw; > /* > Sevior: I'm Here! > if (m_fPosition == TEXT_POSITION_SUPERSCRIPT) > { > iYdraw -= m_pLine->getAscent() * 1/2; > } > > if (m_fPosition == TEXT_POSITION_SUBSCRIPT) > { > iYdraw += m_pLine->getDescent(); // * 3/2 > } > */ > 1076c1140 < m_pG->drawChars(m_sFieldValue, 0, UT_UCS_strlen(m_sFieldValue), pDA->xoff, pDA->yoff - m_iAscent); --- > m_pG->drawChars(m_sFieldValue, 0, UT_UCS_strlen(m_sFieldValue), pDA->xoff,iYdraw); Index: src/text/fmt/xp/fp_Run.h =================================================================== RCS file: /cvsroot/abi/src/text/fmt/xp/fp_Run.h,v retrieving revision 1.53 diff -r1.53 fp_Run.h 373a374,375 > virtual UT_Bool isSuperscript(void) const; > virtual UT_Bool isSubscript(void) const; 383a386,392 > enum > { > TEXT_POSITION_NORMAL, > TEXT_POSITION_SUPERSCRIPT, > TEXT_POSITION_SUBSCRIPT > }; > UT_Byte m_fPosition;