This patch makes auto* buld work again, and it includes a corrected
version of my last patch for gr_UnixGraphics.cpp (to make Xft build be
able to position individual glyphs).
Cheers,
--
Joaqu�n Cuenca Abela
[EMAIL PROTECTED]
diff -ru abi/configure.ac abi4/configure.ac
--- abi/configure.ac Sat Aug 3 10:11:45 2002
+++ abi4/configure.ac Sun Aug 4 13:08:41 2002
@@ -412,8 +412,6 @@
src/other/GNUmakefile
src/other/spell/GNUmakefile
src/other/spell/xp/GNUmakefile
- src/other/fribidi/GNUmakefile
- src/other/fribidi/xp/GNUmakefile
src/other/ttftool/GNUmakefile
src/other/ttftool/unix/GNUmakefile
src/text/GNUmakefile
diff -ru abi/configure.in abi4/configure.in
--- abi/configure.in Sat Aug 3 10:11:46 2002
+++ abi4/configure.in Sun Aug 4 13:08:47 2002
@@ -440,8 +440,6 @@
src/other/GNUmakefile
src/other/spell/GNUmakefile
src/other/spell/xp/GNUmakefile
- src/other/fribidi/GNUmakefile
- src/other/fribidi/xp/GNUmakefile
src/other/ttftool/GNUmakefile
src/other/ttftool/unix/GNUmakefile
src/text/GNUmakefile
diff -ru abi/includes.mk abi4/includes.mk
--- abi/includes.mk Sun Jul 28 10:06:16 2002
+++ abi4/includes.mk Sun Aug 4 13:33:54 2002
@@ -113,7 +113,7 @@
@LIBPOPT_LIBS@ @LIBCURL_LIBS@ @XFT_LIBS@ @THREAD_LIBS@
# BiDi needs a specific lib
-BIDI_LIBS=$(top_builddir)/src/other/fribidi/xp/libFribidi.a
+BIDI_LIBS=-lfribidi
ABI_LIBS=$(top_builddir)/src/wp/ap/libAp.a $(BIDI_LIBS)
ABI_LIBS+=$(top_builddir)/src/wp/impexp/libImpExp.a
ABI_LIBS+=$(top_builddir)/src/af/xap/libXap.a
diff -ru abi/src/af/gr/unix/gr_UnixGraphics.cpp abi4/src/af/gr/unix/gr_UnixGraphics.cpp
--- abi/src/af/gr/unix/gr_UnixGraphics.cpp Sun Aug 4 10:07:13 2002
+++ abi4/src/af/gr/unix/gr_UnixGraphics.cpp Sun Aug 4 13:40:07 2002
@@ -317,8 +317,38 @@
int * pCharWidths)
{
#ifdef USE_XFT
- XftDrawString32(m_pXftDraw, &m_XftColor, m_pXftFont, xoff, yoff + m_pXftFont->ascent,
- const_cast<XftChar32*> (pChars + iCharOffset), iLength);
+ if (iLength == 0)
+ return;
+
+ yoff += m_pXftFont->ascent;
+
+ if (!pCharWidths)
+ XftDrawString32(m_pXftDraw, &m_XftColor, m_pXftFont, xoff, yoff,
+ const_cast<XftChar32*> (pChars + iCharOffset), iLength);
+ else
+ {
+ XftGlyphSpec aGlyphSpec[256];
+ XftGlyphSpec* pGlyphSpec = aGlyphSpec;
+
+ if (iLength > 256)
+ pGlyphSpec = new XftGlyphSpec[iLength];
+
+ pGlyphSpec[0].glyph = (FT_UInt) pChars[iCharOffset];
+ pGlyphSpec[0].x = xoff;
+ pGlyphSpec[0].y = yoff;
+
+ for (int i = 1; i < iLength; ++i)
+ {
+ pGlyphSpec[i].glyph = (FT_UInt) pChars[i + iCharOffset];
+ pGlyphSpec[i].x = (short) (pGlyphSpec[i - 1].x + pCharWidths[i - 1]);
+ pGlyphSpec[i].y = yoff;
+ }
+
+ XftDrawGlyphSpec (m_pXftDraw, &m_XftColor, m_pXftFont, pGlyphSpec, iLength);
+
+ if (pGlyphSpec != aGlyphSpec)
+ delete[] pGlyphSpec;
+ }
#else
if (!m_pFontManager)
return;