This commit is contained in:
commit
a6dbc1d577
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.osc
|
3
libAppleWM-X11R7.0-1.0.0.tar.bz2
Normal file
3
libAppleWM-X11R7.0-1.0.0.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:66d5b9d53816cc158a0f241772cbde60a52aa0a722e28d3ef76a5eb6c82840d5
|
||||
size 208693
|
3
libFS-X11R7.0-1.0.0.tar.bz2
Normal file
3
libFS-X11R7.0-1.0.0.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:15bedd7f892fbb130e2b9c17d4f927c4904362a7be5b73d07d56d8aa7025f6f1
|
||||
size 229218
|
3
libWindowsWM-X11R7.0-1.0.0.tar.bz2
Normal file
3
libWindowsWM-X11R7.0-1.0.0.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:76ccdb6adfc51a4c40e90fe66f599ee4de4787fca44860b851dd4bbf97f7889d
|
||||
size 211133
|
3
libXScrnSaver-1.1.1.tar.bz2
Normal file
3
libXScrnSaver-1.1.1.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8ce5e7fff8d039de5855b4dd578f14c46183e62cd8184363f573ea68404b1bd2
|
||||
size 232929
|
3
libXTrap-X11R7.0-1.0.0.tar.bz2
Normal file
3
libXTrap-X11R7.0-1.0.0.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c7e50c85803e326b3207bcae2bfcb05353f3de18238fb9082bc7ae8f6e329003
|
||||
size 214200
|
3
libXaw-X11R7.1-1.0.2.tar.bz2
Normal file
3
libXaw-X11R7.1-1.0.2.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d555a43a3a96ee2ab797baa357fab3e04856e264d693c7b76fd269d892d0e51e
|
||||
size 524233
|
3
libXcomposite-0.3.1.tar.bz2
Normal file
3
libXcomposite-0.3.1.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d42b59d3c38dae5e4fec375d12e56e7a5764ba10e8b8ec70f9ce951fc9cec72b
|
||||
size 221073
|
3
libXcursor-1.1.8.tar.bz2
Normal file
3
libXcursor-1.1.8.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8f039f81af52c88d583fba48b878abd074542221cb0030638ad52336b4ae1377
|
||||
size 251641
|
3
libXdamage-1.0.4.tar.bz2
Normal file
3
libXdamage-1.0.4.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5df90f0efa77e1d6f9e1768a2b0adfc896d09c7a3d8680ed0980511b3625c636
|
||||
size 209945
|
3
libXevie-1.0.2.tar.bz2
Normal file
3
libXevie-1.0.2.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ff70b81ad145932db2d206735cefcb698dadad241001df7ba6b97e8081d174da
|
||||
size 227721
|
3
libXfont-1.2.5.tar.bz2
Normal file
3
libXfont-1.2.5.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f41c83e6c2c72fca3f374d1aba22896aa78ca8a5e35a06d01121bf680151ef2f
|
||||
size 581174
|
3
libXfontcache-1.0.3.tar.bz2
Normal file
3
libXfontcache-1.0.3.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6b1cfdb4415cd3cd255785c847d905557e809b03951b30b3d722b76c0dbc5aea
|
||||
size 227480
|
3
libXft-2.1.12.tar.bz2
Normal file
3
libXft-2.1.12.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:68b46f85caaf0b30c876bd983abe144c25755bee7532e8738ab7ebe29a428986
|
||||
size 260437
|
780
libXft-2.1.7-lcd-filter-2.patch
Normal file
780
libXft-2.1.7-lcd-filter-2.patch
Normal file
@ -0,0 +1,780 @@
|
||||
diff -urbN libXft-2.1.7-org/xftglyphs.c libXft-2.1.7-new/xftglyphs.c
|
||||
--- libXft-2.1.7-org/xftglyphs.c 2005-03-02 06:32:14.000000000 +0100
|
||||
+++ libXft-2.1.7-new/xftglyphs.c 2006-10-01 01:18:52.000000000 +0200
|
||||
@@ -23,23 +23,14 @@
|
||||
*/
|
||||
|
||||
#include "xftint.h"
|
||||
-#include <freetype/ftoutln.h>
|
||||
|
||||
-static const int filters[3][3] = {
|
||||
- /* red */
|
||||
-#if 0
|
||||
-{ 65538*4/7,65538*2/7,65538*1/7 },
|
||||
- /* green */
|
||||
-{ 65536*1/4, 65536*2/4, 65537*1/4 },
|
||||
- /* blue */
|
||||
-{ 65538*1/7,65538*2/7,65538*4/7 },
|
||||
+#if FREETYPE_MAJOR*10000 + FREETYPE_MINOR*100 + FREETYPE_PATCH < 20202
|
||||
+# error "FreeType 2.2.2 or later required to compile this version of libXft"
|
||||
#endif
|
||||
-{ 65538*9/13,65538*3/13,65538*1/13 },
|
||||
- /* green */
|
||||
-{ 65538*1/6, 65538*4/6, 65538*1/6 },
|
||||
- /* blue */
|
||||
-{ 65538*1/13,65538*3/13,65538*9/13 },
|
||||
-};
|
||||
+
|
||||
+#include FT_OUTLINE_H
|
||||
+#include FT_LCD_FILTER_H
|
||||
+#include FT_SYNTHESIS_H
|
||||
|
||||
/*
|
||||
* Validate the memory info for a font
|
||||
@@ -67,6 +58,295 @@
|
||||
font->glyph_memory, glyph_memory);
|
||||
}
|
||||
|
||||
+
|
||||
+/* we sometimes need to convert the glyph bitmap in a FT_GlyphSlot
|
||||
+ * into a different format. For example, we want to convert a
|
||||
+ * FT_PIXEL_MODE_LCD or FT_PIXEL_MODE_LCD_V bitmap into a 32-bit
|
||||
+ * ARGB or ABGR bitmap.
|
||||
+ *
|
||||
+ * this function prepares a target descriptor for this operation.
|
||||
+ *
|
||||
+ * input :: target bitmap descriptor. The function will set its
|
||||
+ * 'width', 'rows' and 'pitch' fields, and only these
|
||||
+ *
|
||||
+ * slot :: the glyph slot containing the source bitmap. this
|
||||
+ * function assumes that slot->format == FT_GLYPH_FORMAT_BITMAP
|
||||
+ *
|
||||
+ * mode :: the requested final rendering mode. supported values are
|
||||
+ * MONO, NORMAL (i.e. gray), LCD and LCD_V
|
||||
+ *
|
||||
+ * the function returns the size in bytes of the corresponding buffer,
|
||||
+ * it's up to the caller to allocate the corresponding memory block
|
||||
+ * before calling _fill_xrender_bitmap
|
||||
+ *
|
||||
+ * it also returns -1 in case of error (e.g. incompatible arguments,
|
||||
+ * like trying to convert a gray bitmap into a monochrome one)
|
||||
+ */
|
||||
+static int
|
||||
+_compute_xrender_bitmap_size( FT_Bitmap* target,
|
||||
+ FT_GlyphSlot slot,
|
||||
+ FT_Render_Mode mode )
|
||||
+{
|
||||
+ FT_Bitmap* ftbit;
|
||||
+ int width, height, pitch;
|
||||
+
|
||||
+ if ( slot->format != FT_GLYPH_FORMAT_BITMAP )
|
||||
+ return -1;
|
||||
+
|
||||
+ // compute the size of the final bitmap
|
||||
+ ftbit = &slot->bitmap;
|
||||
+
|
||||
+ width = ftbit->width;
|
||||
+ height = ftbit->rows;
|
||||
+ pitch = (width+3) & ~3;
|
||||
+
|
||||
+ switch ( ftbit->pixel_mode )
|
||||
+ {
|
||||
+ case FT_PIXEL_MODE_MONO:
|
||||
+ if ( mode == FT_RENDER_MODE_MONO )
|
||||
+ {
|
||||
+ pitch = (((width+31) & ~31) >> 3);
|
||||
+ break;
|
||||
+ }
|
||||
+ /* fall-through */
|
||||
+
|
||||
+ case FT_PIXEL_MODE_GRAY:
|
||||
+ if ( mode == FT_RENDER_MODE_LCD ||
|
||||
+ mode == FT_RENDER_MODE_LCD_V )
|
||||
+ {
|
||||
+ /* each pixel is replicated into a 32-bit ARGB value */
|
||||
+ pitch = width*4;
|
||||
+ }
|
||||
+ break;
|
||||
+
|
||||
+ case FT_PIXEL_MODE_LCD:
|
||||
+ if ( mode != FT_RENDER_MODE_LCD )
|
||||
+ return -1;
|
||||
+
|
||||
+ /* horz pixel triplets are packed into 32-bit ARGB values */
|
||||
+ width /= 3;
|
||||
+ pitch = width*4;
|
||||
+ break;
|
||||
+
|
||||
+ case FT_PIXEL_MODE_LCD_V:
|
||||
+ if ( mode != FT_RENDER_MODE_LCD_V )
|
||||
+ return -1;
|
||||
+
|
||||
+ /* vert pixel triplets are packed into 32-bit ARGB values */
|
||||
+ height /= 3;
|
||||
+ pitch = width*4;
|
||||
+ break;
|
||||
+
|
||||
+ default: /* unsupported source format */
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
+ target->width = width;
|
||||
+ target->rows = height;
|
||||
+ target->pitch = pitch;
|
||||
+ target->buffer = NULL;
|
||||
+
|
||||
+ return pitch * height;
|
||||
+}
|
||||
+
|
||||
+/* this functions converts the glyph bitmap found in a FT_GlyphSlot
|
||||
+ * into a different format (see _compute_xrender_bitmap_size)
|
||||
+ *
|
||||
+ * you should call this function after _compute_xrender_bitmap_size
|
||||
+ *
|
||||
+ * target :: target bitmap descriptor. Note that its 'buffer' pointer
|
||||
+ * must point to memory allocated by the caller
|
||||
+ *
|
||||
+ * slot :: the glyph slot containing the source bitmap
|
||||
+ *
|
||||
+ * mode :: the requested final rendering mode
|
||||
+ *
|
||||
+ * bgr :: boolean, set if BGR or VBGR pixel ordering is needed
|
||||
+ */
|
||||
+static void
|
||||
+_fill_xrender_bitmap( FT_Bitmap* target,
|
||||
+ FT_GlyphSlot slot,
|
||||
+ FT_Render_Mode mode,
|
||||
+ int bgr )
|
||||
+{
|
||||
+ FT_Bitmap* ftbit = &slot->bitmap;
|
||||
+
|
||||
+ {
|
||||
+ unsigned char* srcLine = ftbit->buffer;
|
||||
+ unsigned char* dstLine = target->buffer;
|
||||
+ int src_pitch = ftbit->pitch;
|
||||
+ int width = target->width;
|
||||
+ int height = target->rows;
|
||||
+ int pitch = target->pitch;
|
||||
+ int subpixel;
|
||||
+ int h;
|
||||
+
|
||||
+ subpixel = ( mode == FT_RENDER_MODE_LCD ||
|
||||
+ mode == FT_RENDER_MODE_LCD_V );
|
||||
+
|
||||
+ if ( src_pitch < 0 )
|
||||
+ srcLine -= src_pitch*(ftbit->rows-1);
|
||||
+
|
||||
+ switch ( ftbit->pixel_mode )
|
||||
+ {
|
||||
+ case FT_PIXEL_MODE_MONO:
|
||||
+ if ( subpixel ) /* convert mono to ARGB32 values */
|
||||
+ {
|
||||
+ for ( h = height; h > 0; h--, srcLine += src_pitch, dstLine += pitch )
|
||||
+ {
|
||||
+ int x;
|
||||
+
|
||||
+ for ( x = 0; x < width; x++ )
|
||||
+ {
|
||||
+ if ( srcLine[(x >> 3)] & (0x80 >> (x & 7)) )
|
||||
+ ((unsigned int*)dstLine)[x] = 0xffffffffU;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ else if ( mode == FT_RENDER_MODE_NORMAL ) /* convert mono to 8-bit gray */
|
||||
+ {
|
||||
+ for ( h = height; h > 0; h--, srcLine += src_pitch, dstLine += pitch )
|
||||
+ {
|
||||
+ int x;
|
||||
+
|
||||
+ for ( x = 0; x < width; x++ )
|
||||
+ {
|
||||
+ if ( srcLine[(x >> 3)] & (0x80 >> (x & 7)) )
|
||||
+ dstLine[x] = 0xff;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ else /* copy mono to mono */
|
||||
+ {
|
||||
+ int bytes = (width+7) >> 3;
|
||||
+
|
||||
+ for ( h = height; h > 0; h--, srcLine += src_pitch, dstLine += pitch )
|
||||
+ memcpy( dstLine, srcLine, bytes );
|
||||
+ }
|
||||
+ break;
|
||||
+
|
||||
+ case FT_PIXEL_MODE_GRAY:
|
||||
+ if ( subpixel ) /* convert gray to ARGB32 values */
|
||||
+ {
|
||||
+ for ( h = height; h > 0; h--, srcLine += src_pitch, dstLine += pitch )
|
||||
+ {
|
||||
+ int x;
|
||||
+ unsigned int* dst = (unsigned int*)dstLine;
|
||||
+
|
||||
+ for ( x = 0; x < width; x++ )
|
||||
+ {
|
||||
+ unsigned int pix = srcLine[x];
|
||||
+
|
||||
+ pix |= (pix << 8);
|
||||
+ pix |= (pix << 16);
|
||||
+
|
||||
+ dst[x] = pix;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ else /* copy gray into gray */
|
||||
+ {
|
||||
+ for ( h = height; h > 0; h--, srcLine += src_pitch, dstLine += pitch )
|
||||
+ memcpy( dstLine, srcLine, width );
|
||||
+ }
|
||||
+ break;
|
||||
+
|
||||
+ case FT_PIXEL_MODE_LCD:
|
||||
+ if ( !bgr )
|
||||
+ {
|
||||
+ /* convert horizontal RGB into ARGB32 */
|
||||
+ for ( h = height; h > 0; h--, srcLine += src_pitch, dstLine += pitch )
|
||||
+ {
|
||||
+ int x;
|
||||
+ unsigned char* src = srcLine;
|
||||
+ unsigned int* dst = (unsigned int*)dstLine;
|
||||
+
|
||||
+ for ( x = 0; x < width; x++, src += 3 )
|
||||
+ {
|
||||
+ unsigned int pix;
|
||||
+
|
||||
+ pix = ((unsigned int)src[0] << 16) |
|
||||
+ ((unsigned int)src[1] << 8) |
|
||||
+ ((unsigned int)src[2] ) |
|
||||
+ ((unsigned int)src[1] << 24) ;
|
||||
+
|
||||
+ dst[x] = pix;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ /* convert horizontal BGR into ARGB32 */
|
||||
+ for ( h = height; h > 0; h--, srcLine += src_pitch, dstLine += pitch )
|
||||
+ {
|
||||
+ int x;
|
||||
+ unsigned char* src = srcLine;
|
||||
+ unsigned int* dst = (unsigned int*)dstLine;
|
||||
+
|
||||
+ for ( x = 0; x < width; x++, src += 3 )
|
||||
+ {
|
||||
+ unsigned int pix;
|
||||
+
|
||||
+ pix = ((unsigned int)src[2] << 16) |
|
||||
+ ((unsigned int)src[1] << 8) |
|
||||
+ ((unsigned int)src[0] ) |
|
||||
+ ((unsigned int)src[1] << 24) ;
|
||||
+
|
||||
+ dst[x] = pix;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ break;
|
||||
+
|
||||
+ default: /* FT_PIXEL_MODE_LCD_V */
|
||||
+ /* convert vertical RGB into ARGB32 */
|
||||
+ if ( !bgr )
|
||||
+ {
|
||||
+ for ( h = height; h > 0; h--, srcLine += 3*src_pitch, dstLine += pitch )
|
||||
+ {
|
||||
+ int x;
|
||||
+ unsigned char* src = srcLine;
|
||||
+ unsigned int* dst = (unsigned int*)dstLine;
|
||||
+
|
||||
+ for ( x = 0; x < width; x++, src += 1 )
|
||||
+ {
|
||||
+ unsigned int pix;
|
||||
+
|
||||
+ pix = ((unsigned int)src[0] << 16) |
|
||||
+ ((unsigned int)src[src_pitch] << 8) |
|
||||
+ ((unsigned int)src[src_pitch*2] ) |
|
||||
+ ((unsigned int)src[src_pitch] << 24) ;
|
||||
+
|
||||
+ dst[x] = pix;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ for ( h = height; h > 0; h--, srcLine += 3*src_pitch, dstLine += pitch )
|
||||
+ {
|
||||
+ int x;
|
||||
+ unsigned char* src = srcLine;
|
||||
+ unsigned int* dst = (unsigned int*)dstLine;
|
||||
+
|
||||
+ for ( x = 0; x < width; x++, src += 1 )
|
||||
+ {
|
||||
+ unsigned int pix;
|
||||
+
|
||||
+ pix = ((unsigned int)src[src_pitch*2] << 16) |
|
||||
+ ((unsigned int)src[src_pitch] << 8) |
|
||||
+ ((unsigned int)src[0] ) |
|
||||
+ ((unsigned int)src[src_pitch] << 24) ;
|
||||
+
|
||||
+ dst[x] = pix;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+
|
||||
_X_EXPORT void
|
||||
XftFontLoadGlyphs (Display *dpy,
|
||||
XftFont *pub,
|
||||
@@ -85,20 +365,14 @@
|
||||
unsigned char *bufBitmap = bufLocal;
|
||||
int bufSize = sizeof (bufLocal);
|
||||
int size, pitch;
|
||||
- unsigned char bufLocalRgba[4096];
|
||||
- unsigned char *bufBitmapRgba = bufLocalRgba;
|
||||
- int bufSizeRgba = sizeof (bufLocalRgba);
|
||||
- int sizergba, pitchrgba, widthrgba;
|
||||
int width;
|
||||
int height;
|
||||
int left, right, top, bottom;
|
||||
- int hmul = 1;
|
||||
- int vmul = 1;
|
||||
- FT_Bitmap ftbit;
|
||||
- FT_Matrix matrix;
|
||||
+ FT_Bitmap* ftbit;
|
||||
+ FT_Bitmap local;
|
||||
FT_Vector vector;
|
||||
- Bool subpixel = False;
|
||||
FT_Face face;
|
||||
+ FT_Render_Mode mode = FT_RENDER_MODE_MONO;
|
||||
|
||||
if (!info)
|
||||
return;
|
||||
@@ -108,24 +382,19 @@
|
||||
if (!face)
|
||||
return;
|
||||
|
||||
- matrix.xx = matrix.yy = 0x10000L;
|
||||
- matrix.xy = matrix.yx = 0;
|
||||
-
|
||||
if (font->info.antialias)
|
||||
{
|
||||
switch (font->info.rgba) {
|
||||
case FC_RGBA_RGB:
|
||||
case FC_RGBA_BGR:
|
||||
- matrix.xx *= 3;
|
||||
- subpixel = True;
|
||||
- hmul = 3;
|
||||
+ mode = FT_RENDER_MODE_LCD;
|
||||
break;
|
||||
case FC_RGBA_VRGB:
|
||||
case FC_RGBA_VBGR:
|
||||
- matrix.yy *= 3;
|
||||
- vmul = 3;
|
||||
- subpixel = True;
|
||||
+ mode = FT_RENDER_MODE_LCD_V;
|
||||
break;
|
||||
+ default:
|
||||
+ mode = FT_RENDER_MODE_NORMAL;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -146,7 +415,10 @@
|
||||
if (xftg->glyph_memory)
|
||||
continue;
|
||||
|
||||
+ FT_Library_SetLcdFilter( _XftFTlibrary, FT_LCD_FILTER_DEFAULT );
|
||||
+
|
||||
error = FT_Load_Glyph (face, glyphindex, font->info.load_flags);
|
||||
+
|
||||
if (error)
|
||||
{
|
||||
/*
|
||||
@@ -179,7 +451,7 @@
|
||||
/*
|
||||
* Compute glyph metrics from FreeType information
|
||||
*/
|
||||
- if(font->info.transform && glyphslot->format != ft_glyph_format_bitmap)
|
||||
+ if(font->info.transform && glyphslot->format != FT_GLYPH_FORMAT_BITMAP)
|
||||
{
|
||||
/*
|
||||
* calculate the true width by transforming all four corners.
|
||||
@@ -258,17 +530,14 @@
|
||||
}
|
||||
}
|
||||
|
||||
- if (font->info.antialias)
|
||||
- pitch = (width * hmul + 3) & ~3;
|
||||
- else
|
||||
- pitch = ((width + 31) & ~31) >> 3;
|
||||
-
|
||||
- size = pitch * height * vmul;
|
||||
+ if ( glyphslot->format != FT_GLYPH_FORMAT_BITMAP )
|
||||
+ {
|
||||
+ error = FT_Render_Glyph( face->glyph, mode );
|
||||
+ if (error)
|
||||
+ continue;
|
||||
+ }
|
||||
|
||||
- xftg->metrics.width = width;
|
||||
- xftg->metrics.height = height;
|
||||
- xftg->metrics.x = -TRUNC(left);
|
||||
- xftg->metrics.y = TRUNC(top);
|
||||
+ FT_Library_SetLcdFilter( _XftFTlibrary, FT_LCD_FILTER_NONE );
|
||||
|
||||
if (font->info.spacing >= FC_MONO)
|
||||
{
|
||||
@@ -308,103 +577,13 @@
|
||||
xftg->metrics.yOff = -TRUNC(ROUND(glyphslot->advance.y));
|
||||
}
|
||||
|
||||
- /*
|
||||
- * If the glyph is relatively large (> 1% of server memory),
|
||||
- * don't send it until necessary
|
||||
- */
|
||||
- if (!need_bitmaps && size > info->max_glyph_memory / 100)
|
||||
- continue;
|
||||
|
||||
- /*
|
||||
- * Make sure there's enough buffer space for the glyph
|
||||
- */
|
||||
- if (size > bufSize)
|
||||
- {
|
||||
- if (bufBitmap != bufLocal)
|
||||
- free (bufBitmap);
|
||||
- bufBitmap = (unsigned char *) malloc (size);
|
||||
- if (!bufBitmap)
|
||||
- continue;
|
||||
- bufSize = size;
|
||||
- }
|
||||
- memset (bufBitmap, 0, size);
|
||||
-
|
||||
- /*
|
||||
- * Rasterize into the local buffer
|
||||
- */
|
||||
- switch (glyphslot->format) {
|
||||
- case ft_glyph_format_outline:
|
||||
- ftbit.width = width * hmul;
|
||||
- ftbit.rows = height * vmul;
|
||||
- ftbit.pitch = pitch;
|
||||
- if (font->info.antialias)
|
||||
- ftbit.pixel_mode = ft_pixel_mode_grays;
|
||||
- else
|
||||
- ftbit.pixel_mode = ft_pixel_mode_mono;
|
||||
-
|
||||
- ftbit.buffer = bufBitmap;
|
||||
-
|
||||
- if (subpixel)
|
||||
- FT_Outline_Transform (&glyphslot->outline, &matrix);
|
||||
+ // compute the size of the final bitmap
|
||||
+ ftbit = &glyphslot->bitmap;
|
||||
|
||||
- FT_Outline_Translate ( &glyphslot->outline, -left*hmul, -bottom*vmul );
|
||||
-
|
||||
- FT_Outline_Get_Bitmap( _XftFTlibrary, &glyphslot->outline, &ftbit );
|
||||
- break;
|
||||
- case ft_glyph_format_bitmap:
|
||||
- if (font->info.antialias)
|
||||
- {
|
||||
- unsigned char *srcLine, *dstLine;
|
||||
- int height;
|
||||
- int x;
|
||||
- int h, v;
|
||||
-
|
||||
- srcLine = glyphslot->bitmap.buffer;
|
||||
- dstLine = bufBitmap;
|
||||
- height = glyphslot->bitmap.rows;
|
||||
- while (height--)
|
||||
- {
|
||||
- for (x = 0; x < glyphslot->bitmap.width; x++)
|
||||
- {
|
||||
- /* always MSB bitmaps */
|
||||
- unsigned char a = ((srcLine[x >> 3] & (0x80 >> (x & 7))) ?
|
||||
- 0xff : 0x00);
|
||||
- if (subpixel)
|
||||
- {
|
||||
- for (v = 0; v < vmul; v++)
|
||||
- for (h = 0; h < hmul; h++)
|
||||
- dstLine[v * pitch + x*hmul + h] = a;
|
||||
- }
|
||||
- else
|
||||
- dstLine[x] = a;
|
||||
- }
|
||||
- dstLine += pitch * vmul;
|
||||
- srcLine += glyphslot->bitmap.pitch;
|
||||
- }
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- unsigned char *srcLine, *dstLine;
|
||||
- int h, bytes;
|
||||
-
|
||||
- srcLine = glyphslot->bitmap.buffer;
|
||||
- dstLine = bufBitmap;
|
||||
- h = glyphslot->bitmap.rows;
|
||||
- bytes = (glyphslot->bitmap.width + 7) >> 3;
|
||||
- while (h--)
|
||||
- {
|
||||
- memcpy (dstLine, srcLine, bytes);
|
||||
- dstLine += pitch;
|
||||
- srcLine += glyphslot->bitmap.pitch;
|
||||
- }
|
||||
- }
|
||||
- break;
|
||||
- default:
|
||||
- if (XftDebug() & XFT_DBG_GLYPH)
|
||||
- printf ("glyph %d is not in a usable format\n",
|
||||
- (int) glyphindex);
|
||||
- continue;
|
||||
- }
|
||||
+ width = ftbit->width;
|
||||
+ height = ftbit->rows;
|
||||
+ pitch = (width+3) & ~3;
|
||||
|
||||
if (XftDebug() & XFT_DBG_GLYPH)
|
||||
{
|
||||
@@ -421,153 +600,99 @@
|
||||
int x, y;
|
||||
unsigned char *line;
|
||||
|
||||
- line = bufBitmap;
|
||||
- for (y = 0; y < height * vmul; y++)
|
||||
+ line = ftbit->buffer;
|
||||
+
|
||||
+ if (ftbit->pitch < 0)
|
||||
+ line -= ftbit->pitch*(height-1);
|
||||
+
|
||||
+ for (y = 0; y < height; y++)
|
||||
{
|
||||
if (font->info.antialias)
|
||||
{
|
||||
- static char den[] = { " .:;=+*#" };
|
||||
- for (x = 0; x < pitch; x++)
|
||||
+ static const char den[] = { " .:;=+*#" };
|
||||
+ for (x = 0; x < width; x++)
|
||||
printf ("%c", den[line[x] >> 5]);
|
||||
}
|
||||
else
|
||||
{
|
||||
- for (x = 0; x < pitch * 8; x++)
|
||||
+ for (x = 0; x < width * 8; x++)
|
||||
{
|
||||
printf ("%c", line[x>>3] & (1 << (x & 7)) ? '#' : ' ');
|
||||
}
|
||||
}
|
||||
printf ("|\n");
|
||||
- line += pitch;
|
||||
+ line += ftbit->pitch;
|
||||
}
|
||||
printf ("\n");
|
||||
}
|
||||
}
|
||||
|
||||
- /*
|
||||
- * Use the glyph index as the wire encoding; it
|
||||
- * might be more efficient for some locales to map
|
||||
- * these by first usage to smaller values, but that
|
||||
- * would require persistently storing the map when
|
||||
- * glyphs were freed.
|
||||
- */
|
||||
- glyph = (Glyph) glyphindex;
|
||||
+ size = _compute_xrender_bitmap_size( &local, glyphslot, mode );
|
||||
+ if ( size < 0 )
|
||||
+ continue;
|
||||
|
||||
- if (subpixel)
|
||||
- {
|
||||
- int x, y;
|
||||
- unsigned char *in_line, *out_line, *in;
|
||||
- unsigned int *out;
|
||||
- unsigned int red, green, blue;
|
||||
- int rf, gf, bf;
|
||||
- int s;
|
||||
- int o, os;
|
||||
+ xftg->metrics.width = local.width;
|
||||
+ xftg->metrics.height = local.rows;
|
||||
+ xftg->metrics.x = - glyphslot->bitmap_left;
|
||||
+ xftg->metrics.y = glyphslot->bitmap_top;
|
||||
|
||||
/*
|
||||
- * Filter the glyph to soften the color fringes
|
||||
+ * If the glyph is relatively large (> 1% of server memory),
|
||||
+ * don't send it until necessary
|
||||
*/
|
||||
- widthrgba = width;
|
||||
- pitchrgba = (widthrgba * 4 + 3) & ~3;
|
||||
- sizergba = pitchrgba * height;
|
||||
+ if (!need_bitmaps && size > info->max_glyph_memory / 100)
|
||||
+ continue;
|
||||
|
||||
- os = 1;
|
||||
- switch (font->info.rgba) {
|
||||
- case FC_RGBA_VRGB:
|
||||
- os = pitch;
|
||||
- case FC_RGBA_RGB:
|
||||
- default:
|
||||
- rf = 0;
|
||||
- gf = 1;
|
||||
- bf = 2;
|
||||
- break;
|
||||
- case FC_RGBA_VBGR:
|
||||
- os = pitch;
|
||||
- case FC_RGBA_BGR:
|
||||
- bf = 0;
|
||||
- gf = 1;
|
||||
- rf = 2;
|
||||
- break;
|
||||
- }
|
||||
- if (sizergba > bufSizeRgba)
|
||||
+ /*
|
||||
+ * Make sure there's enough buffer space for the glyph
|
||||
+ */
|
||||
+ if (size > bufSize)
|
||||
{
|
||||
- if (bufBitmapRgba != bufLocalRgba)
|
||||
- free (bufBitmapRgba);
|
||||
- bufBitmapRgba = (unsigned char *) malloc (sizergba);
|
||||
- if (!bufBitmapRgba)
|
||||
+ if (bufBitmap != bufLocal)
|
||||
+ free (bufBitmap);
|
||||
+ bufBitmap = (unsigned char *) malloc (size);
|
||||
+ if (!bufBitmap)
|
||||
continue;
|
||||
- bufSizeRgba = sizergba;
|
||||
- }
|
||||
- memset (bufBitmapRgba, 0, sizergba);
|
||||
- in_line = bufBitmap;
|
||||
- out_line = bufBitmapRgba;
|
||||
- for (y = 0; y < height; y++)
|
||||
- {
|
||||
- in = in_line;
|
||||
- out = (unsigned int *) out_line;
|
||||
- in_line += pitch * vmul;
|
||||
- out_line += pitchrgba;
|
||||
- for (x = 0; x < width * hmul; x += hmul)
|
||||
- {
|
||||
- red = green = blue = 0;
|
||||
- o = 0;
|
||||
- for (s = 0; s < 3; s++)
|
||||
- {
|
||||
- red += filters[rf][s]*in[x+o];
|
||||
- green += filters[gf][s]*in[x+o];
|
||||
- blue += filters[bf][s]*in[x+o];
|
||||
- o += os;
|
||||
- }
|
||||
- red = red / 65536;
|
||||
- green = green / 65536;
|
||||
- blue = blue / 65536;
|
||||
- *out++ = (green << 24) | (red << 16) | (green << 8) | blue;
|
||||
- }
|
||||
+ bufSize = size;
|
||||
}
|
||||
+ memset (bufBitmap, 0, size);
|
||||
+
|
||||
+ local.buffer = bufBitmap;
|
||||
|
||||
- xftg->glyph_memory = sizergba + sizeof (XftGlyph);
|
||||
+ _fill_xrender_bitmap( &local, glyphslot, mode,
|
||||
+ (font->info.rgba == FC_RGBA_BGR ||
|
||||
+ font->info.rgba == FC_RGBA_VBGR ) );
|
||||
+ /*
|
||||
+ * Copy or convert into local buffer
|
||||
+ */
|
||||
+
|
||||
+ /*
|
||||
+ * Use the glyph index as the wire encoding; it
|
||||
+ * might be more efficient for some locales to map
|
||||
+ * these by first usage to smaller values, but that
|
||||
+ * would require persistently storing the map when
|
||||
+ * glyphs were freed.
|
||||
+ */
|
||||
+ glyph = (Glyph) glyphindex;
|
||||
+
|
||||
+ xftg->glyph_memory = size + sizeof (XftGlyph);
|
||||
if (font->format)
|
||||
{
|
||||
if (!font->glyphset)
|
||||
font->glyphset = XRenderCreateGlyphSet (dpy, font->format);
|
||||
- if (ImageByteOrder (dpy) != XftNativeByteOrder ())
|
||||
- XftSwapCARD32 ((CARD32 *) bufBitmapRgba, sizergba >> 2);
|
||||
- XRenderAddGlyphs (dpy, font->glyphset, &glyph,
|
||||
- &xftg->metrics, 1,
|
||||
- (char *) bufBitmapRgba, sizergba);
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- if (sizergba)
|
||||
- {
|
||||
- xftg->bitmap = malloc (sizergba);
|
||||
- if (xftg->bitmap)
|
||||
- memcpy (xftg->bitmap, bufBitmapRgba, sizergba);
|
||||
- }
|
||||
- else
|
||||
- xftg->bitmap = 0;
|
||||
- }
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- xftg->glyph_memory = size + sizeof (XftGlyph);
|
||||
- if (font->format)
|
||||
- {
|
||||
- /*
|
||||
- * swap bit order around; FreeType is always MSBFirst
|
||||
- */
|
||||
- if (!font->info.antialias)
|
||||
+
|
||||
+ if ( mode == FT_RENDER_MODE_MONO )
|
||||
{
|
||||
+ /* swap bits in each byte */
|
||||
if (BitmapBitOrder (dpy) != MSBFirst)
|
||||
{
|
||||
- unsigned char *line;
|
||||
- unsigned char c;
|
||||
- int i;
|
||||
+ unsigned char *line = (unsigned char*)bufBitmap;
|
||||
+ int i = size;
|
||||
|
||||
- line = (unsigned char *) bufBitmap;
|
||||
- i = size;
|
||||
while (i--)
|
||||
{
|
||||
- c = *line;
|
||||
+ int c = *line;
|
||||
+
|
||||
c = ((c << 1) & 0xaa) | ((c >> 1) & 0x55);
|
||||
c = ((c << 2) & 0xcc) | ((c >> 2) & 0x33);
|
||||
c = ((c << 4) & 0xf0) | ((c >> 4) & 0x0f);
|
||||
@@ -575,8 +700,12 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
- if (!font->glyphset)
|
||||
- font->glyphset = XRenderCreateGlyphSet (dpy, font->format);
|
||||
+ else if ( mode != FT_RENDER_MODE_NORMAL )
|
||||
+ {
|
||||
+ /* invert ARGB <=> BGRA */
|
||||
+ if (ImageByteOrder (dpy) != XftNativeByteOrder ())
|
||||
+ XftSwapCARD32 ((CARD32 *) bufBitmap, size >> 2);
|
||||
+ }
|
||||
XRenderAddGlyphs (dpy, font->glyphset, &glyph,
|
||||
&xftg->metrics, 1,
|
||||
(char *) bufBitmap, size);
|
||||
@@ -592,7 +721,7 @@
|
||||
else
|
||||
xftg->bitmap = 0;
|
||||
}
|
||||
- }
|
||||
+
|
||||
font->glyph_memory += xftg->glyph_memory;
|
||||
info->glyph_memory += xftg->glyph_memory;
|
||||
if (XftDebug() & XFT_DBG_CACHE)
|
||||
@@ -603,8 +732,6 @@
|
||||
}
|
||||
if (bufBitmap != bufLocal)
|
||||
free (bufBitmap);
|
||||
- if (bufBitmapRgba != bufLocalRgba)
|
||||
- free (bufBitmapRgba);
|
||||
XftUnlockFace (&font->public);
|
||||
}
|
||||
|
3
libXft1-X11R6.9-1.2.tar.bz2
Normal file
3
libXft1-X11R6.9-1.2.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1608411ed3909c4617ef29a02efff4668d14a1cd3da2a1545912cd3b1dd4fb04
|
||||
size 31970
|
3
libXi-1.0.2.tar.bz2
Normal file
3
libXi-1.0.2.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7e6339539d3d0a4fc95cc23ca2b13ae67dd783e011b3cc5ca76040e376bff57f
|
||||
size 244920
|
3
libXinerama-X11R7.0-1.0.1.tar.bz2
Normal file
3
libXinerama-X11R7.0-1.0.1.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:72b5a499ddce72f1e18963586f7fb67e8ef69f989be455ba2c5d7f4d9b5f467a
|
||||
size 201413
|
3
libXprintAppUtil-X11R7.0-1.0.1.tar.bz2
Normal file
3
libXprintAppUtil-X11R7.0-1.0.1.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8349266b3cc8cf743a02e810d67ad500fbd1bdfd5188470d19f4bf97663510f4
|
||||
size 202104
|
3
libXrandr-1.1.2.tar.bz2
Normal file
3
libXrandr-1.1.2.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ba5adedc37da835a5c9e5a5d457dce13feead64fc364bc4719c41720ca0a3c50
|
||||
size 235234
|
3
libXres-1.0.2.tar.bz2
Normal file
3
libXres-1.0.2.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:69c465270214e651ffe4c801fd54c20f813043bbc5e01b9431cccec161e8d354
|
||||
size 231444
|
3
libXtst-X11R7.0-1.0.1.tar.bz2
Normal file
3
libXtst-X11R7.0-1.0.1.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:93d9c1fb831e2aaaab4627835e79ae0550837cbe18a0d6bc91edc2aa3ea67ad3
|
||||
size 207156
|
3
libXvMC-1.0.3.tar.bz2
Normal file
3
libXvMC-1.0.3.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:56d342604dfee5956ee347fbb4e686380039bf7c9562eba1a8cdc041a658496d
|
||||
size 215125
|
3
libXxf86dga-X11R7.1-1.0.1.tar.bz2
Normal file
3
libXxf86dga-X11R7.1-1.0.1.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ed3bd1cc72252aebe8268c7357692dcdb72f003c2c36ee7a74da312b750afdb7
|
||||
size 231443
|
3
libXxf86misc-X11R7.1-1.0.1.tar.bz2
Normal file
3
libXxf86misc-X11R7.1-1.0.1.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4adbde13bbb3109897fc7b5d05bdab4709c4dd1aa7313f47b8093f52f10e617c
|
||||
size 222724
|
3
libXxf86vm-X11R7.1-1.0.1.tar.bz2
Normal file
3
libXxf86vm-X11R7.1-1.0.1.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:494636571ae72af7524c3a7703324ef68dbf755f753054317489fe79ac895ae0
|
||||
size 228000
|
3
libdmx-X11R7.1-1.0.2.tar.bz2
Normal file
3
libdmx-X11R7.1-1.0.2.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1f5e0f1c1afdea4548a226d242edf597fc931b7ad262c09b7bee5498f472e9ba
|
||||
size 231213
|
3
liblbxutil-X11R7.1-1.0.1.tar.bz2
Normal file
3
liblbxutil-X11R7.1-1.0.1.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d9ca5d502f8a4a6c146d1f0458ac27c95cc59724caa6d845e24946d299463bc5
|
||||
size 241979
|
BIN
liboldX-X11R7.0-1.0.1.tar.bz2
(Stored with Git LFS)
Normal file
BIN
liboldX-X11R7.0-1.0.1.tar.bz2
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
libxkbui-X11R7.1-1.0.2.tar.bz2
(Stored with Git LFS)
Normal file
BIN
libxkbui-X11R7.1-1.0.2.tar.bz2
(Stored with Git LFS)
Normal file
Binary file not shown.
11
libxkbui.diff
Normal file
11
libxkbui.diff
Normal file
@ -0,0 +1,11 @@
|
||||
--- src/XKBui.c.orig 2006-11-10 14:56:45.000000000 +0100
|
||||
+++ src/XKBui.c 2006-11-10 14:57:00.000000000 +0100
|
||||
@@ -104,7 +104,7 @@
|
||||
char buf[20];
|
||||
sprintf(buf,"#%02x%02x%02x",(sdef.red>>8)&0xff,
|
||||
(sdef.green>>8)&0xff,
|
||||
- (sdef.blue>>8)&&0xff);
|
||||
+ (sdef.blue>>8)&0xff);
|
||||
if (XAllocNamedColor(view->dpy,view->opts.cmap,buf,&sdef,&xdef)) {
|
||||
xkb->geom->colors[i].pixel= sdef.pixel;
|
||||
#ifdef DEBUG
|
32
p_xft_cjk.diff
Normal file
32
p_xft_cjk.diff
Normal file
@ -0,0 +1,32 @@
|
||||
--- src/xftfreetype.c
|
||||
+++ src/xftfreetype.c
|
||||
@@ -387,6 +387,7 @@
|
||||
FcChar32 hash, *hashp;
|
||||
FT_Face face;
|
||||
int nhash;
|
||||
+ FcBool bitmap;
|
||||
|
||||
if (!info)
|
||||
return FcFalse;
|
||||
@@ -509,8 +510,22 @@
|
||||
*/
|
||||
fi->load_flags = FT_LOAD_DEFAULT;
|
||||
|
||||
+#ifndef XFT_EMBEDDED_BITMAP
|
||||
+#define XFT_EMBEDDED_BITMAP "embeddedbitmap"
|
||||
+#endif
|
||||
+
|
||||
+ switch (FcPatternGetBool (pattern, XFT_EMBEDDED_BITMAP, 0, &bitmap)) {
|
||||
+ case FcResultNoMatch:
|
||||
+ bitmap = FcFalse;
|
||||
+ break;
|
||||
+ case FcResultMatch:
|
||||
+ break;
|
||||
+ default:
|
||||
+ goto bail1;
|
||||
+ }
|
||||
+
|
||||
/* disable bitmaps when anti-aliasing or transforming glyphs */
|
||||
- if (fi->antialias || fi->transform)
|
||||
+ if ((!bitmap && fi->antialias) || fi->transform)
|
||||
fi->load_flags |= FT_LOAD_NO_BITMAP;
|
11
p_xft_register.diff
Normal file
11
p_xft_register.diff
Normal file
@ -0,0 +1,11 @@
|
||||
diff -ru xc.orig/lib/Xft/xftname.c xc/lib/Xft/xftname.c
|
||||
--- xc.orig/lib/Xft/xftname.c 2005-11-30 11:34:57.000000000 +0100
|
||||
+++ xc/lib/Xft/xftname.c 2006-01-03 11:27:05.000000000 +0100
|
||||
@@ -28,6 +28,7 @@
|
||||
{ XFT_CORE, FcTypeBool, },
|
||||
{ XFT_XLFD, FcTypeString, },
|
||||
{ XFT_RENDER, FcTypeBool, },
|
||||
+ { XFT_MAX_GLYPH_MEMORY, FcTypeInteger, },
|
||||
};
|
||||
|
||||
#define NUM_OBJECT_TYPES (sizeof _XftObjectTypes / sizeof _XftObjectTypes[0])
|
3
xbitmaps-X11R7.0-1.0.1.tar.bz2
Normal file
3
xbitmaps-X11R7.0-1.0.1.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3d7b78cf588871caa00ef79f5f66657803cf9a07350ac5dcf56fbe5ca2a794a8
|
||||
size 55492
|
137
xorg-x11-libs.changes
Normal file
137
xorg-x11-libs.changes
Normal file
@ -0,0 +1,137 @@
|
||||
-------------------------------------------------------------------
|
||||
Sat Dec 9 15:25:48 CET 2006 - sndirsch@suse.de
|
||||
|
||||
- updated libXft to release 2.1.12
|
||||
* XftNameUnparse: re-export to public API (bug #8900)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Dec 3 15:54:06 CET 2006 - sndirsch@suse.de
|
||||
|
||||
- moved libxcb to seperate package (xorg-x11-libxcb)
|
||||
- updated libXfont to release 1.2.5
|
||||
* remove CID font support (bug #5553)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Nov 27 12:40:56 CET 2006 - dmueller@suse.de
|
||||
|
||||
- reduce p_xft_cjk.diff to only disable antialiasing on
|
||||
fonts with embedded bitmaps (Bug #223682)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 10 14:58:52 CET 2006 - sndirsch@suse.de
|
||||
|
||||
- fixed typo in libxkbui (Bug #219732)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 8 16:55:34 CET 2006 - sndirsch@suse.de
|
||||
|
||||
- updated libXdamage to release 1.0.4 (X.Org 7.2 RC2)
|
||||
* Remove incorrect UnlockDisplay and SyncHandle from
|
||||
XDamageQueryVersion
|
||||
- updated libXi to release 1.0.2 (X.Org 7.2 RC2)
|
||||
* fix indentation on function declarations
|
||||
* Don't call XInput_find_display in _XiCheckExtInit, while the
|
||||
Display lock is held.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 3 11:54:25 CET 2006 - sndirsch@suse.de
|
||||
|
||||
- updated optional libxcb to release 1.0 RC3 (0.9.93)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 20 12:54:28 CEST 2006 - mfabian@suse.de
|
||||
|
||||
- Bugzilla 213320: add lcd-filter-2 patch from David Turner, see
|
||||
http://lists.gnu.org/archive/html/freetype/2006-09/msg00083.html
|
||||
http://david.freetype.org/lcd/libXft-2.1.7-lcd-filter-2.patch
|
||||
(This patch is needed for freetype >= 2.2.2).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Oct 16 12:51:02 CEST 2006 - sndirsch@suse.de
|
||||
|
||||
- added optional libxcb
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Oct 14 06:27:12 CEST 2006 - sndirsch@suse.de
|
||||
|
||||
- package update to X.Org 7.2RC1
|
||||
* libXevie-1.0.2
|
||||
* libXfontcache-1.0.3
|
||||
* libXres-1.0.2
|
||||
* libXfont-1.2.3
|
||||
* libXcomposite-0.3.1
|
||||
* libXcursor-1.1.8
|
||||
* libXrandr-1.1.2
|
||||
* libXScrnSaver-1.1.1
|
||||
* libXft-2.1.11
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Oct 9 15:53:29 CEST 2006 - sndirsch@suse.de
|
||||
|
||||
- updated to libXvMC 1.0.3:
|
||||
* Minor cleanup release - just some sparse warning cleanups, and
|
||||
adding autoconf check to enable shmat() code (missed in
|
||||
original conversion from Imake).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 12 20:47:36 CEST 2006 - sndirsch@suse.de
|
||||
|
||||
- updated libXfont to release 1.2.2
|
||||
* Fixes for integer overflows in CID encoded fonts parsing
|
||||
reported by iDefense
|
||||
* More check on PCF file reading. Bugzilla #7535
|
||||
* use OpenBitmap when available
|
||||
* move builtin fonts to gzip
|
||||
* Bug #7397: Fix a buffer overflow in Freetype font support.
|
||||
* obsoletes libXfont-pcfread.diff
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 31 23:10:02 CEST 2006 - sndirsch@suse.de
|
||||
|
||||
- fixed libXaw Provides for 64bit (Bug #198461)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Aug 12 05:29:53 CEST 2006 - sndirsch@suse.de
|
||||
|
||||
- added libXft1 (Bug #198432)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Aug 5 22:47:55 CEST 2006 - sndirsch@suse.de
|
||||
|
||||
- p_xft_cjk.diff:
|
||||
* adds fake bold support to Xft library (Bug #38202)
|
||||
- p_xft_register.diff:
|
||||
* new fontconfig objects needs to be registered first (Bug #141216)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 2 10:55:54 CEST 2006 - sndirsch@suse.de
|
||||
|
||||
- added /usr/include/X11/pixmaps/ to filelist
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jul 31 14:46:40 CEST 2006 - sndirsch@suse.de
|
||||
|
||||
- moved bitmap directory from -devel to main package
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jul 28 14:45:02 CEST 2006 - sndirsch@suse.de
|
||||
|
||||
- use "-fno-strict-aliasing"
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 27 11:48:49 CEST 2006 - sndirsch@suse.de
|
||||
|
||||
- use $RPM_OPT_FLAGS
|
||||
- remove existing /usr/include/X11 symlink in %pre
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jul 26 07:39:21 CEST 2006 - sndirsch@suse.de
|
||||
|
||||
- libXfont-pcfread.diff:
|
||||
* handle malformed pcf files (Bug #192095)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 23 17:22:12 CEST 2006 - sndirsch@suse.de
|
||||
|
||||
- created package
|
||||
|
278
xorg-x11-libs.spec
Normal file
278
xorg-x11-libs.spec
Normal file
@ -0,0 +1,278 @@
|
||||
#
|
||||
# spec file for package xorg-x11-libs (Version 7.2)
|
||||
#
|
||||
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
# This file and all modifications and additions to the pristine
|
||||
# package are under the same license as the package itself.
|
||||
#
|
||||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
# norootforbuild
|
||||
|
||||
Name: xorg-x11-libs
|
||||
BuildRequires: fontconfig-devel freetype2-devel libxslt pkgconfig xorg-x11-libICE-devel xorg-x11-libSM-devel xorg-x11-libX11-devel xorg-x11-libXau-devel xorg-x11-libXdmcp-devel xorg-x11-libXext-devel xorg-x11-libXfixes-devel xorg-x11-libXmu-devel xorg-x11-libXp-devel xorg-x11-libXpm-devel xorg-x11-libXprintUtil-devel xorg-x11-libXrender-devel xorg-x11-libXt-devel xorg-x11-libXv-devel xorg-x11-libfontenc-devel xorg-x11-libxkbfile-devel xorg-x11-proto-devel xorg-x11-util-devel xorg-x11-xtrans-devel
|
||||
%ifarch ppc64 s390x x86_64
|
||||
Provides: libXaw.so.8()(64bit) libXaw.so.7()(64bit) libXaw.so.6()(64bit)
|
||||
%else
|
||||
Provides: libXaw.so.8 libXaw.so.7 libXaw.so.6
|
||||
%endif
|
||||
URL: http://xorg.freedesktop.org/
|
||||
Version: 7.2
|
||||
Release: 20
|
||||
License: X11/MIT
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
Group: System/Libraries
|
||||
Summary: Remaining X.Org libraries
|
||||
Source0: libAppleWM-X11R7.0-1.0.0.tar.bz2
|
||||
Source1: libFS-X11R7.0-1.0.0.tar.bz2
|
||||
Source2: libWindowsWM-X11R7.0-1.0.0.tar.bz2
|
||||
Source3: libXScrnSaver-1.1.1.tar.bz2
|
||||
Source4: libXTrap-X11R7.0-1.0.0.tar.bz2
|
||||
Source5: libXaw-X11R7.1-1.0.2.tar.bz2
|
||||
Source6: libXcomposite-0.3.1.tar.bz2
|
||||
Source7: libXcursor-1.1.8.tar.bz2
|
||||
Source8: libXdamage-1.0.4.tar.bz2
|
||||
Source9: libXevie-1.0.2.tar.bz2
|
||||
Source10: libXfont-1.2.5.tar.bz2
|
||||
Source11: libXfontcache-1.0.3.tar.bz2
|
||||
Source12: libXft-2.1.12.tar.bz2
|
||||
Source13: libXi-1.0.2.tar.bz2
|
||||
Source14: libXinerama-X11R7.0-1.0.1.tar.bz2
|
||||
Source15: libXprintAppUtil-X11R7.0-1.0.1.tar.bz2
|
||||
Source16: libXrandr-1.1.2.tar.bz2
|
||||
Source17: libXtst-X11R7.0-1.0.1.tar.bz2
|
||||
Source18: libXvMC-1.0.3.tar.bz2
|
||||
Source19: libXxf86dga-X11R7.1-1.0.1.tar.bz2
|
||||
Source20: libXxf86misc-X11R7.1-1.0.1.tar.bz2
|
||||
Source21: libXxf86vm-X11R7.1-1.0.1.tar.bz2
|
||||
Source22: libdmx-X11R7.1-1.0.2.tar.bz2
|
||||
Source23: liblbxutil-X11R7.1-1.0.1.tar.bz2
|
||||
Source24: liboldX-X11R7.0-1.0.1.tar.bz2
|
||||
Source25: libxkbui-X11R7.1-1.0.2.tar.bz2
|
||||
Source26: xbitmaps-X11R7.0-1.0.1.tar.bz2
|
||||
Source27: libXres-1.0.2.tar.bz2
|
||||
Source28: libXft1-X11R6.9-1.2.tar.bz2
|
||||
Patch2: libXft-2.1.7-lcd-filter-2.patch
|
||||
Patch3: p_xft_cjk.diff
|
||||
Patch4: p_xft_register.diff
|
||||
Patch5: libxkbui.diff
|
||||
|
||||
%description
|
||||
This package contains the remaining X.Org libraries.
|
||||
|
||||
|
||||
|
||||
Authors:
|
||||
--------
|
||||
|
||||
Apple Computer Corporation
|
||||
Dave Lemke
|
||||
David Dawes
|
||||
Derek Wang
|
||||
Frank Giessler
|
||||
Jim Gettys
|
||||
Juliusz Chroboczek
|
||||
Jungshik Shin
|
||||
Keith Packard
|
||||
Kensuke Matsuzaki
|
||||
Marc La France
|
||||
Mark Leisher
|
||||
Noah Levitt
|
||||
Phil Karlton
|
||||
Ralf Habacker
|
||||
Shunsuke Akiyama
|
||||
Suhaib Siddiqi
|
||||
Susan Angebrandt
|
||||
|
||||
%package -n xorg-x11-devel
|
||||
Summary: Include Files and Libraries mandatory for X11 Development.
|
||||
Group: Development/Libraries/X11
|
||||
Provides: xorg-x11-compat70-devel xorg-x11-man XFree86-devel
|
||||
Obsoletes: xorg-x11-compat70-devel xorg-x11-man
|
||||
Requires: xorg-x11-proto-devel xorg-x11-xtrans-devel xorg-x11-libXau-devel xorg-x11-libXdmcp-devel xorg-x11-libX11-devel xorg-x11-libXext-devel xorg-x11-libXp-devel xorg-x11-libXpm-devel xorg-x11-libXrender-devel xorg-x11-libICE-devel xorg-x11-libSM-devel xorg-x11-libXt-devel xorg-x11-libXmu-devel xorg-x11-libXfixes-devel xorg-x11-libxkbfile-devel freetype2-devel fontconfig-devel xorg-x11-libs xorg-x11-util-devel xorg-x11-libfontenc-devel xorg-x11-libXv-devel xorg-x11-libXprintUtil-devel xorg-x11-fonts-devel pkgconfig
|
||||
Autoreqprov: on
|
||||
|
||||
%description -n xorg-x11-devel
|
||||
This package contains all necessary include files and libraries needed
|
||||
to develop X11 applications that require these.
|
||||
|
||||
|
||||
|
||||
Authors:
|
||||
--------
|
||||
|
||||
Apple Computer Corporation
|
||||
Dave Lemke
|
||||
David Dawes
|
||||
Derek Wang
|
||||
Frank Giessler
|
||||
Jim Gettys
|
||||
Juliusz Chroboczek
|
||||
Jungshik Shin
|
||||
Keith Packard
|
||||
Kensuke Matsuzaki
|
||||
Marc La France
|
||||
Mark Leisher
|
||||
Noah Levitt
|
||||
Phil Karlton
|
||||
Ralf Habacker
|
||||
Shunsuke Akiyama
|
||||
Suhaib Siddiqi
|
||||
Susan Angebrandt
|
||||
|
||||
%prep
|
||||
%setup -n . -T -D
|
||||
rm -rf $RPM_BUILD_DIR/*
|
||||
for i in $RPM_SOURCE_DIR/*.tar.bz2; do tar xjf $i; done
|
||||
pushd libXft-*/src
|
||||
%if %suse_version > 1010
|
||||
%patch2 -p1
|
||||
%endif
|
||||
%patch3 -p1
|
||||
%patch4 -p3
|
||||
popd
|
||||
pushd libxkbui-*
|
||||
%patch5
|
||||
popd
|
||||
|
||||
%build
|
||||
for dir in libXft1-* xbitmaps-* $(ls | grep -v -e libXft1 -e xbitmaps); do
|
||||
pushd $dir
|
||||
case $dir in
|
||||
libXft1-*)
|
||||
xmkmf -a
|
||||
;;
|
||||
*)
|
||||
#autoreconf -fi
|
||||
./configure CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" \
|
||||
--enable-type1 \
|
||||
--prefix=/usr \
|
||||
--libdir=%{_libdir} \
|
||||
--mandir=%{_mandir}
|
||||
;;
|
||||
esac
|
||||
make
|
||||
popd
|
||||
done
|
||||
|
||||
%install
|
||||
for dir in xbitmaps-* $(ls | grep -v xbitmap); do
|
||||
pushd $dir
|
||||
make install DESTDIR=$RPM_BUILD_ROOT
|
||||
popd
|
||||
done
|
||||
/sbin/ldconfig -n $RPM_BUILD_ROOT/usr/%_lib
|
||||
mkdir -p $RPM_BUILD_ROOT/usr/include/X11/pixmaps/
|
||||
|
||||
%clean
|
||||
rm -rf "$RPM_BUILD_ROOT"
|
||||
|
||||
%post -p /sbin/ldconfig
|
||||
|
||||
%pre -n xorg-x11-devel
|
||||
test -L usr/include/X11 && rm usr/include/X11
|
||||
exit 0
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
/usr/include/X11/bitmaps/
|
||||
/usr/include/X11/pixmaps/
|
||||
/usr/%{_lib}/*.so.*
|
||||
|
||||
%files -n xorg-x11-devel
|
||||
%defattr(-,root,root)
|
||||
/usr/bin/xft-config
|
||||
/usr/include/X11/*.h
|
||||
/usr/include/X11/Xaw/
|
||||
/usr/include/X11/Xcursor/
|
||||
/usr/include/X11/Xft/
|
||||
/usr/include/X11/XprintAppUtil/
|
||||
/usr/include/X11/extensions/*.h
|
||||
/usr/include/X11/fonts/*.h
|
||||
/usr/%{_lib}/*.a
|
||||
/usr/%{_lib}/*.la
|
||||
/usr/%{_lib}/*.so
|
||||
/usr/%{_lib}/pkgconfig/*.pc
|
||||
/usr/share/aclocal/*.m4
|
||||
%{_mandir}/man1/*
|
||||
%{_mandir}/man3/*
|
||||
|
||||
%changelog -n xorg-x11-libs
|
||||
* Sat Dec 09 2006 - sndirsch@suse.de
|
||||
- updated libXft to release 2.1.12
|
||||
* XftNameUnparse: re-export to public API (bug #8900)
|
||||
* Sun Dec 03 2006 - sndirsch@suse.de
|
||||
- moved libxcb to seperate package (xorg-x11-libxcb)
|
||||
- updated libXfont to release 1.2.5
|
||||
* remove CID font support (bug #5553)
|
||||
* Mon Nov 27 2006 - dmueller@suse.de
|
||||
- reduce p_xft_cjk.diff to only disable antialiasing on
|
||||
fonts with embedded bitmaps (Bug #223682)
|
||||
* Fri Nov 10 2006 - sndirsch@suse.de
|
||||
- fixed typo in libxkbui (Bug #219732)
|
||||
* Wed Nov 08 2006 - sndirsch@suse.de
|
||||
- updated libXdamage to release 1.0.4 (X.Org 7.2 RC2)
|
||||
* Remove incorrect UnlockDisplay and SyncHandle from
|
||||
XDamageQueryVersion
|
||||
- updated libXi to release 1.0.2 (X.Org 7.2 RC2)
|
||||
* fix indentation on function declarations
|
||||
* Don't call XInput_find_display in _XiCheckExtInit, while the
|
||||
Display lock is held.
|
||||
* Fri Nov 03 2006 - sndirsch@suse.de
|
||||
- updated optional libxcb to release 1.0 RC3 (0.9.93)
|
||||
* Fri Oct 20 2006 - mfabian@suse.de
|
||||
- Bugzilla 213320: add lcd-filter-2 patch from David Turner, see
|
||||
http://lists.gnu.org/archive/html/freetype/2006-09/msg00083.html
|
||||
http://david.freetype.org/lcd/libXft-2.1.7-lcd-filter-2.patch
|
||||
(This patch is needed for freetype >= 2.2.2).
|
||||
* Mon Oct 16 2006 - sndirsch@suse.de
|
||||
- added optional libxcb
|
||||
* Sat Oct 14 2006 - sndirsch@suse.de
|
||||
- package update to X.Org 7.2RC1
|
||||
* libXevie-1.0.2
|
||||
* libXfontcache-1.0.3
|
||||
* libXres-1.0.2
|
||||
* libXfont-1.2.3
|
||||
* libXcomposite-0.3.1
|
||||
* libXcursor-1.1.8
|
||||
* libXrandr-1.1.2
|
||||
* libXScrnSaver-1.1.1
|
||||
* libXft-2.1.11
|
||||
* Mon Oct 09 2006 - sndirsch@suse.de
|
||||
- updated to libXvMC 1.0.3:
|
||||
* Minor cleanup release - just some sparse warning cleanups, and
|
||||
adding autoconf check to enable shmat() code (missed in
|
||||
original conversion from Imake).
|
||||
* Tue Sep 12 2006 - sndirsch@suse.de
|
||||
- updated libXfont to release 1.2.2
|
||||
* Fixes for integer overflows in CID encoded fonts parsing
|
||||
reported by iDefense
|
||||
* More check on PCF file reading. Bugzilla #7535
|
||||
* use OpenBitmap when available
|
||||
* move builtin fonts to gzip
|
||||
* Bug #7397: Fix a buffer overflow in Freetype font support.
|
||||
* obsoletes libXfont-pcfread.diff
|
||||
* Thu Aug 31 2006 - sndirsch@suse.de
|
||||
- fixed libXaw Provides for 64bit (Bug #198461)
|
||||
* Sat Aug 12 2006 - sndirsch@suse.de
|
||||
- added libXft1 (Bug #198432)
|
||||
* Sat Aug 05 2006 - sndirsch@suse.de
|
||||
- p_xft_cjk.diff:
|
||||
* adds fake bold support to Xft library (Bug #38202)
|
||||
- p_xft_register.diff:
|
||||
* new fontconfig objects needs to be registered first (Bug #141216)
|
||||
* Wed Aug 02 2006 - sndirsch@suse.de
|
||||
- added /usr/include/X11/pixmaps/ to filelist
|
||||
* Mon Jul 31 2006 - sndirsch@suse.de
|
||||
- moved bitmap directory from -devel to main package
|
||||
* Fri Jul 28 2006 - sndirsch@suse.de
|
||||
- use "-fno-strict-aliasing"
|
||||
* Thu Jul 27 2006 - sndirsch@suse.de
|
||||
- use $RPM_OPT_FLAGS
|
||||
- remove existing /usr/include/X11 symlink in %%pre
|
||||
* Wed Jul 26 2006 - sndirsch@suse.de
|
||||
- libXfont-pcfread.diff:
|
||||
* handle malformed pcf files (Bug #192095)
|
||||
* Fri Jun 23 2006 - sndirsch@suse.de
|
||||
- created package
|
Loading…
Reference in New Issue
Block a user