[arch-commits] Commit in fontconfig/trunk (6 files)
Jan de Groot
jgc at archlinux.org
Sun Jul 6 18:44:33 UTC 2008
Date: Sunday, July 6, 2008 @ 14:44:33
Author: jgc
Revision: 4342
upgpkg: fontconfig 2.6.0-1
Update to 2.6.0:
- fix install scriptlet to have the correct conditions
- add new configs
- add hack to delete old configs
- add hack to add configs that should have been added at 2.5.0
- replace bitmap fonts with size-compatible fonts when installed
Modified:
fontconfig/trunk/30-replace-bitmap-fonts.conf
fontconfig/trunk/PKGBUILD
fontconfig/trunk/fontconfig.install
Deleted:
fontconfig/trunk/fcvaluesave.patch
fontconfig/trunk/fontconfig-2.3.2-noftinternals.patch
fontconfig/trunk/local.conf
--------------------------------------+
30-replace-bitmap-fonts.conf | 14
PKGBUILD | 17
fcvaluesave.patch | 10
fontconfig-2.3.2-noftinternals.patch | 701 ---------------------------------
fontconfig.install | 58 +-
local.conf | 34 -
6 files changed, 58 insertions(+), 776 deletions(-)
Modified: 30-replace-bitmap-fonts.conf
===================================================================
--- 30-replace-bitmap-fonts.conf 2008-07-06 18:42:11 UTC (rev 4341)
+++ 30-replace-bitmap-fonts.conf 2008-07-06 18:44:33 UTC (rev 4342)
@@ -8,7 +8,9 @@
<test name="family" qual="any">
<string>Helvetica</string>
</test>
- <edit mode="assign" name="family" >
+ <edit mode="assign" name="family">
+ <string>Arial</string>
+ <string>Liberation Sans</string>
<string>sans-serif</string>
</edit>
</match>
@@ -16,7 +18,9 @@
<test name="family" qual="any">
<string>Courier</string>
</test>
- <edit mode="assign" name="family" >
+ <edit mode="assign" name="family">
+ <string>Courier New</string>
+ <string>Liberation Mono</string>
<string>monospace</string>
</edit>
</match>
@@ -24,10 +28,10 @@
<test name="family" qual="any">
<string>Times</string>
</test>
- <edit mode="assign" name="family" >
+ <edit mode="assign" name="family">
+ <string>Times New Roman</string>
+ <string>Liberation Serif</string>
<string>serif</string>
</edit>
</match>
-
-
</fontconfig>
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2008-07-06 18:42:11 UTC (rev 4341)
+++ PKGBUILD 2008-07-06 18:44:33 UTC (rev 4342)
@@ -1,33 +1,32 @@
# $Id$
# Maintainer: Jan de Groot <jgc at archlinux.org>
pkgname=fontconfig
-pkgver=2.5.0
+pkgver=2.6.0
pkgrel=1
pkgdesc="A library for configuring and customizing font access"
arch=(i686 x86_64)
url="http://www.fontconfig.org/release/"
license=('custom')
-depends=('expat>=2.0' 'freetype2>=2.2.1')
+depends=('expat>=2.0' 'freetype2>=2.3.7')
options=('!libtool')
install=fontconfig.install
source=(http://www.fontconfig.org/release/${pkgname}-${pkgver}.tar.gz
30-replace-bitmap-fonts.conf)
-md5sums=('21d14af8ecf645ef76211c782cdd7aeb'
- 'fffc6a49ccf13c3224559b0f41a434e5')
+md5sums=('ab54ec1d4ddd836313fdbc0cd5299d6d'
+ 'f6b67e8cc79197ed6abd4701911e83da')
build() {
cd ${startdir}/src/${pkgname}-${pkgver}
# enable Position Independent Code for prelinking
export CFLAGS="${CFLAGS} -fPIC"
- ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install
+ make DESTDIR=${startdir}/pkg install || return 1
install -m644 ${startdir}/src/30-replace-bitmap-fonts.conf \
${startdir}/pkg/etc/fonts/conf.avail || return 1
rm -f ${startdir}/pkg/etc/fonts/conf.d/*.conf
#Install license
- install -Dm0644 $startdir/src/${pkgname}-${pkgver}/COPYING \
- $startdir/pkg/usr/share/licenses/$pkgname/COPYING
+ install -m755 -d ${pkgdir}/usr/share/licenses/${pkgname}
+ install -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/ || return 1
}
-
Deleted: fcvaluesave.patch
===================================================================
--- fcvaluesave.patch 2008-07-06 18:42:11 UTC (rev 4341)
+++ fcvaluesave.patch 2008-07-06 18:44:33 UTC (rev 4342)
@@ -1,10 +0,0 @@
---- src/fccfg.c~ 2005-03-09 04:56:35.000000000 +0000
-+++ src/fccfg.c 2006-01-02 20:16:00.000000000 +0000
-@@ -774,6 +774,7 @@
- r = FcPatternGet (p, e->u.field, 0, &v);
- if (r != FcResultMatch)
- v.type = FcTypeVoid;
-+ v = FcValueSave (v);
- break;
- case FcOpConst:
- if (FcNameConstant (e->u.constant, &v.u.i))
Deleted: fontconfig-2.3.2-noftinternals.patch
===================================================================
--- fontconfig-2.3.2-noftinternals.patch 2008-07-06 18:42:11 UTC (rev 4341)
+++ fontconfig-2.3.2-noftinternals.patch 2008-07-06 18:44:33 UTC (rev 4342)
@@ -1,701 +0,0 @@
-diff -urN fontconfig-2.3.2/src/fcfreetype.c fontconfig-2.3.2-new/src/fcfreetype.c
---- fontconfig-2.3.2/src/fcfreetype.c 2005-04-21 14:37:43.000000000 +0200
-+++ fontconfig-2.3.2-new/src/fcfreetype.c 2005-07-07 13:17:32.224401218 +0200
-@@ -50,14 +50,11 @@
- #include "fcint.h"
- #include <ft2build.h>
- #include FT_FREETYPE_H
--#include FT_INTERNAL_OBJECTS_H
- #include FT_TRUETYPE_TABLES_H
- #include FT_SFNT_NAMES_H
- #include FT_TRUETYPE_IDS_H
- #include FT_TYPE1_TABLES_H
--#include FT_INTERNAL_STREAM_H
--#include FT_INTERNAL_SFNT_H
--#include FT_INTERNAL_TRUETYPE_TYPES_H
-+#include "fcftglue.h"
- #if HAVE_FT_GET_X11_FONT_FORMAT
- #include FT_XFREE86_H
- #endif
-@@ -65,8 +62,7 @@
- #if HAVE_FT_GET_BDF_PROPERTY
- #include FT_BDF_H
- #include FT_MODULE_H
--#define HAS_BDF_PROPERTY(f) ((f) && (f)->driver && \
-- (f)->driver->root.clazz->get_interface)
-+#define HAS_BDF_PROPERTY(f) ((f))
- #define MY_Get_BDF_Property(f,n,p) (HAS_BDF_PROPERTY(f) ? \
- FT_Get_BDF_Property(f,n,p) : \
- FT_Err_Invalid_Argument)
-@@ -1559,7 +1555,7 @@
- */
- if (FcCharSetCount (cs) == 0)
- {
-- if (!strcmp(FT_MODULE_CLASS(&face->driver->root)->module_name, "pcf"))
-+ if (!strcmp(FT_Get_X11_Font_Format(face),"PCF"))
- goto bail2;
- }
-
-@@ -2706,8 +2702,7 @@
- static FT_Error
- GetScriptTags(FT_Face face, FT_ULong tabletag, FT_ULong **stags, FT_UShort *script_count)
- {
-- FT_ULong cur_offset, new_offset, base_offset;
-- TT_Face tt_face = (TT_Face)face;
-+ FT_ULong cur_offset, new_offset, base_offset;
- FT_Stream stream = face->stream;
- FT_Error error;
- FT_UShort n, p;
-@@ -2716,51 +2711,43 @@
- if ( !stream )
- return TT_Err_Invalid_Face_Handle;
-
-- if (( error = tt_face->goto_table( tt_face, tabletag, stream, 0 ) ))
-+ if ( (error = fcft_face_goto_table( face, tabletag, stream )) != 0 )
- return error;
-
-- base_offset = FT_STREAM_POS();
-+ base_offset = FCFT_STREAM_POS();
-
- /* skip version */
-
-- if ( FT_STREAM_SEEK( base_offset + 4L ) || FT_FRAME_ENTER( 2L ) )
-- return error;
--
-- new_offset = FT_GET_USHORT() + base_offset;
--
-- FT_FRAME_EXIT();
--
-- cur_offset = FT_STREAM_POS();
--
-- if ( FT_STREAM_SEEK( new_offset ) != TT_Err_Ok )
-- return error;
--
-- base_offset = FT_STREAM_POS();
-+ if ( FCFT_STREAM_SEEK( base_offset + 4L ) ||
-+ FCFT_READ_USHORT( new_offset ) )
-+ return error;
-+
-+ new_offset += base_offset;
-+ cur_offset = FCFT_STREAM_POS();
-
-- if ( FT_FRAME_ENTER( 2L ) )
-+ if ( FCFT_STREAM_SEEK( new_offset ) != TT_Err_Ok )
- return error;
-
-- *script_count = FT_GET_USHORT();
-+ base_offset = FCFT_STREAM_POS();
-
-- FT_FRAME_EXIT();
--
-- if ( FT_SET_ERROR (FT_MEM_ALLOC_ARRAY( *stags, *script_count, FT_ULong )) )
-- return error;
-+ if ( FCFT_READ_USHORT(*script_count) ||
-+ FCFT_MEM_ALLOC_ARRAY( *stags, *script_count, FT_ULong ) )
-+ return error;
-
- p = 0;
- for ( n = 0; n < *script_count; n++ )
- {
-- if ( FT_FRAME_ENTER( 6L ) )
-+ if ( FCFT_FRAME_ENTER( 6L ) )
- goto Fail;
-
-- (*stags)[p] = FT_GET_ULONG();
-- new_offset = FT_GET_USHORT() + base_offset;
-+ (*stags)[p] = FCFT_GET_ULONG();
-+ new_offset = FCFT_GET_USHORT() + base_offset;
-
-- FT_FRAME_EXIT();
-+ FCFT_FRAME_EXIT();
-
-- cur_offset = FT_STREAM_POS();
-+ cur_offset = FCFT_STREAM_POS();
-
-- if ( FT_STREAM_SEEK( new_offset ) )
-+ if ( FCFT_STREAM_SEEK( new_offset ) )
- goto Fail;
-
- if ( error == TT_Err_Ok )
-@@ -2768,7 +2755,7 @@
- else if ( error != TTO_Err_Empty_Script )
- goto Fail;
-
-- (void)FT_STREAM_SEEK( cur_offset );
-+ (void)FCFT_STREAM_SEEK( cur_offset );
- }
-
- if (!p)
-@@ -2784,7 +2771,7 @@
-
- Fail:
- *script_count = 0;
-- FT_FREE( *stags );
-+ FCFT_FREE( *stags );
- return error;
- }
-
-@@ -2841,7 +2828,7 @@
- if (FcDebug () & FC_DBG_SCANV)
- printf("complex features in this font: %s\n", complex);
- bail:
-- FT_FREE(gsubtags);
-- FT_FREE(gpostags);
-+ FCFT_FREE(gsubtags);
-+ FCFT_FREE(gpostags);
- return complex;
- }
-diff -urN fontconfig-2.3.2/src/fcftglue.c fontconfig-2.3.2-new/src/fcftglue.c
---- fontconfig-2.3.2/src/fcftglue.c 1970-01-01 01:00:00.000000000 +0100
-+++ fontconfig-2.3.2-new/src/fcftglue.c 2005-07-07 13:34:48.630254000 +0200
-@@ -0,0 +1,380 @@
-+#include "fcftglue.h"
-+
-+/***************************************************************************/
-+/***************************************************************************/
-+/***** *****/
-+/***** *****/
-+/***** *****/
-+/***************************************************************************/
-+/***************************************************************************/
-+
-+/* only used internall */
-+static FT_Pointer
-+fcft_qalloc( FT_Memory memory,
-+ FT_ULong size,
-+ FT_Error *perror )
-+{
-+ FT_Error error = 0;
-+ FT_Pointer block = NULL;
-+
-+ if ( size > 0 )
-+ {
-+ block = memory->alloc( memory, size );
-+ if ( !block )
-+ error = FT_Err_Out_Of_Memory;
-+ }
-+
-+ *perror = error;
-+ return block;
-+}
-+
-+#define FCFT_QALLOC(ptr,size) ( (ptr) = fcft_qalloc( memory, (size), &error ), error != 0 )
-+
-+
-+FCFT_APIDEF( FT_Pointer )
-+fcft_alloc( FT_Memory memory,
-+ FT_ULong size,
-+ FT_Error *perror )
-+{
-+ FT_Error error = 0;
-+ FT_Pointer block = NULL;
-+
-+ if ( size > 0 )
-+ {
-+ block = memory->alloc( memory, size );
-+ if ( !block )
-+ error = FT_Err_Out_Of_Memory;
-+ else
-+ memset( (char*)block, 0, (size_t)size );
-+ }
-+
-+ *perror = error;
-+ return block;
-+}
-+
-+
-+FCFT_APIDEF( FT_Pointer )
-+fcft_realloc( FT_Memory memory,
-+ FT_Pointer block,
-+ FT_ULong old_size,
-+ FT_ULong new_size,
-+ FT_Error *perror )
-+{
-+ FT_Pointer block2 = NULL;
-+ FT_Error error = 0;
-+
-+ if ( block == NULL )
-+ {
-+ block2 = fcft_alloc( memory, new_size, &error );
-+ }
-+ else if ( new_size <= 0 )
-+ {
-+ fcft_free( memory, block );
-+ }
-+ else
-+ {
-+ block2 = fcft_alloc( memory, new_size, &error );
-+ if ( !error )
-+ {
-+ memcpy( (char*)block2, (const char*)block, (size_t)old_size );
-+ if ( new_size > old_size )
-+ memset( (char*)block2 + old_size, 0, (size_t)(new_size - old_size) );
-+ }
-+ }
-+
-+ if ( !error )
-+ block = block2;
-+
-+ *perror = error;
-+ return block;
-+}
-+
-+
-+FCFT_APIDEF( void )
-+fcft_free( FT_Memory memory,
-+ FT_Pointer block )
-+{
-+ if ( block )
-+ memory->free( memory, block );
-+}
-+
-+
-+FCFT_APIDEF( FT_Long )
-+fcft_stream_pos( FT_Stream stream )
-+{
-+ return stream->pos;
-+}
-+
-+
-+FCFT_APIDEF( FT_Error )
-+fcft_stream_seek( FT_Stream stream,
-+ FT_Long pos )
-+{
-+ FT_Error error = 0;
-+
-+ stream->pos = pos;
-+ if ( stream->read )
-+ {
-+ if ( stream->read( stream, pos, 0, 0 ) )
-+ error = FT_Err_Invalid_Stream_Operation;
-+ }
-+ else if ( pos > stream->size )
-+ error = FT_Err_Invalid_Stream_Operation;
-+
-+ return error;
-+}
-+
-+
-+FCFT_APIDEF( FT_Error )
-+fcft_stream_frame_enter( FT_Stream stream,
-+ FT_ULong count )
-+{
-+ FT_Error error = FT_Err_Ok;
-+ FT_ULong read_bytes;
-+
-+ if ( stream->read )
-+ {
-+ /* allocate the frame in memory */
-+ FT_Memory memory = stream->memory;
-+
-+
-+ if ( FCFT_QALLOC( stream->base, count ) )
-+ goto Exit;
-+
-+ /* read it */
-+ read_bytes = stream->read( stream, stream->pos,
-+ stream->base, count );
-+ if ( read_bytes < count )
-+ {
-+ FCFT_FREE( stream->base );
-+ error = FT_Err_Invalid_Stream_Operation;
-+ }
-+ stream->cursor = stream->base;
-+ stream->limit = stream->cursor + count;
-+ stream->pos += read_bytes;
-+ }
-+ else
-+ {
-+ /* check current and new position */
-+ if ( stream->pos >= stream->size ||
-+ stream->pos + count > stream->size )
-+ {
-+ error = FT_Err_Invalid_Stream_Operation;
-+ goto Exit;
-+ }
-+
-+ /* set cursor */
-+ stream->cursor = stream->base + stream->pos;
-+ stream->limit = stream->cursor + count;
-+ stream->pos += count;
-+ }
-+
-+Exit:
-+ return error;
-+}
-+
-+
-+FCFT_APIDEF( void )
-+fcft_stream_frame_exit( FT_Stream stream )
-+{
-+ if ( stream->read )
-+ {
-+ FT_Memory memory = stream->memory;
-+
-+ FCFT_FREE( stream->base );
-+ }
-+ stream->cursor = 0;
-+ stream->limit = 0;
-+}
-+
-+
-+FCFT_APIDEF( FT_Byte )
-+fcft_stream_get_byte( FT_Stream stream )
-+{
-+ FT_Byte result = 0;
-+
-+ if ( stream->cursor < stream->limit )
-+ result = *stream->cursor++;
-+
-+ return result;
-+}
-+
-+
-+FCFT_APIDEF( FT_Short )
-+fcft_stream_get_short( FT_Stream stream )
-+{
-+ FT_Byte* p;
-+ FT_Short result = 0;
-+
-+ p = stream->cursor;
-+ if ( p + 2 <= stream->limit )
-+ {
-+ result = (FT_Short)((p[0] << 8) | p[1]);
-+ stream->cursor = p+2;
-+ }
-+ return result;
-+}
-+
-+
-+FCFT_APIDEF( FT_Long )
-+fcft_stream_get_long( FT_Stream stream )
-+{
-+ FT_Byte* p;
-+ FT_Long result = 0;
-+
-+ p = stream->cursor;
-+ if ( p + 4 <= stream->limit )
-+ {
-+ result = (FT_Long)(((FT_Long)p[0] << 24) |
-+ ((FT_Long)p[1] << 16) |
-+ ((FT_Long)p[2] << 8) |
-+ p[3] );
-+ stream->cursor = p+4;
-+ }
-+ return result;
-+}
-+
-+
-+static FT_Error
-+fcft_stream_readp( FT_Stream stream,
-+ FT_Byte* *pbuffer,
-+ FT_ULong count )
-+{
-+ FT_Error error = 0;
-+
-+ if ( stream->read )
-+ {
-+ FT_ULong read_bytes = stream->read( stream, stream->pos, *pbuffer, count );
-+
-+ if ( read_bytes != count )
-+ goto Fail;
-+
-+ stream->pos += count;
-+ }
-+ else
-+ {
-+ if ( stream->pos >= stream->size ||
-+ stream->pos + count > stream->size )
-+ goto Fail;
-+
-+ *pbuffer = stream->base + stream->pos;
-+ stream->pos += count;
-+ }
-+
-+Exit:
-+ return error;
-+
-+Fail:
-+ error = FT_Err_Invalid_Stream_Operation;
-+ goto Exit;
-+}
-+
-+
-+FCFT_API( FT_Byte )
-+fcft_stream_read_byte( FT_Stream stream,
-+ FT_Error *perror )
-+{
-+ FT_Byte temp[1], *p = temp, result = 0;
-+ FT_Error error = fcft_stream_readp( stream, &p, 1 );
-+
-+ if ( !error )
-+ result = *p;
-+
-+ return error;
-+}
-+
-+FCFT_API( FT_Short )
-+fcft_stream_read_short( FT_Stream stream,
-+ FT_Error *perror )
-+{
-+ FT_Byte temp[2], *p = temp;
-+ FT_Short result = 0;
-+ FT_Error error = fcft_stream_readp( stream, &p, 2 );
-+
-+ if ( !error )
-+ result = (FT_Short)((p[0] << 8) | p[1]);
-+
-+ return error;
-+}
-+
-+FCFT_API( FT_Long )
-+fcft_stream_read_long( FT_Stream stream,
-+ FT_Error *perror )
-+{
-+ FT_Byte temp[4], *p = temp;
-+ FT_Long result = 0;
-+ FT_Error error = fcft_stream_readp( stream, &p, 4 );
-+
-+ if ( !error )
-+ result = (FT_Long)((FT_Long)(p[0] << 24) |
-+ (FT_Long)(p[1] << 16) |
-+ (p[2] << 8) |
-+ p[3] );
-+
-+ return error;
-+}
-+
-+
-+FCFT_APIDEF( FT_Error )
-+fcft_face_goto_table( FT_Face face,
-+ FT_ULong the_tag,
-+ FT_Stream stream )
-+{
-+ FT_Error error;
-+
-+ if ( !FT_IS_SFNT(face) )
-+ error = FT_Err_Invalid_Face_Handle;
-+ else
-+ {
-+ /* parse the directory table directly, without using
-+ * FreeType's built-in data structures
-+ */
-+ FT_UInt count, nn;
-+ FT_ULong offset = 0;
-+
-+ if ( face->num_faces > 1 )
-+ {
-+ /* deal with TrueType collections */
-+ FT_ULong offset;
-+
-+ if ( FCFT_STREAM_SEEK( 12 + face->face_index*4 ) ||
-+ FCFT_READ_ULONG(offset) )
-+ goto Exit;
-+ }
-+
-+ if ( FCFT_STREAM_SEEK( offset+4 ) ||
-+ FCFT_READ_USHORT(count) )
-+ goto Exit;
-+
-+
-+ if ( FCFT_STREAM_SEEK( offset+12 ) ||
-+ FCFT_FRAME_ENTER( count*16 ) )
-+ goto Exit;
-+
-+ for ( nn = 0; nn < count; nn++ )
-+ {
-+ FT_ULong tag = FCFT_GET_TAG();
-+ FT_ULong checksum = FCFT_GET_ULONG();
-+ FT_ULong start = FCFT_GET_ULONG();
-+ FT_ULong size = FCFT_GET_ULONG();
-+
-+ FT_UNUSED(checksum);
-+ FT_UNUSED(size);
-+
-+ if ( tag == the_tag )
-+ {
-+ error = fcft_stream_seek( stream, offset+start );
-+ goto FoundIt;
-+ }
-+ }
-+ error = FT_Err_Table_Missing;
-+
-+ FoundIt:
-+ FCFT_FRAME_EXIT();
-+ }
-+
-+Exit:
-+ return error;
-+}
-+
-+#undef FCFT_QALLOC
-diff -urN fontconfig-2.3.2/src/fcftglue.h fontconfig-2.3.2-new/src/fcftglue.h
---- fontconfig-2.3.2/src/fcftglue.h 1970-01-01 01:00:00.000000000 +0100
-+++ fontconfig-2.3.2-new/src/fcftglue.h 2005-07-07 13:15:43.292717000 +0200
-@@ -0,0 +1,135 @@
-+/* the following contains code used to prevent FontConfig from
-+ * abusing FreeType internals. We simply duplicate some of the FreeType
-+ * functionality using only publicly defined APIs and structures
-+ */
-+#ifndef __FONTCONFIG_FTGLUE_H__
-+#define __FONTCONFIG_FTGLUE_H__
-+
-+#include <ft2build.h>
-+#include FT_FREETYPE_H
-+
-+FT_BEGIN_HEADER
-+
-+
-+/* utility macros */
-+#define FCFT_SET_ERR(c) ( (error = (c)) != 0 )
-+
-+#ifndef FCFT_API
-+#define FCFT_API(x) extern x
-+#endif
-+
-+#ifndef FCFT_APIDEF
-+#define FCFT_APIDEF(x) x
-+#endif
-+
-+/* stream macros used by the OpenType parser */
-+#define FCFT_STREAM_POS() fcft_stream_pos( stream )
-+#define FCFT_STREAM_SEEK(pos) FCFT_SET_ERR( fcft_stream_seek( stream, pos ) )
-+#define FCFT_FRAME_ENTER(size) FCFT_SET_ERR( fcft_stream_frame_enter( stream, size ) )
-+#define FCFT_FRAME_EXIT() fcft_stream_frame_exit( stream )
-+
-+#define FCFT_GET_BYTE() fcft_stream_get_byte( stream )
-+#define FCFT_GET_SHORT() fcft_stream_get_short( stream )
-+#define FCFT_GET_LONG() fcft_stream_get_long( stream )
-+
-+#define FCFT_GET_CHAR() ((FT_Char)FCFT_GET_BYTE())
-+#define FCFT_GET_USHORT() ((FT_UShort)FCFT_GET_SHORT())
-+#define FCFT_GET_ULONG() ((FT_ULong)FCFT_GET_LONG())
-+#define FCFT_GET_TAG() FCFT_GET_ULONG()
-+
-+#define FCFT_READ_(val,type,suffix) \
-+ ( (val) = (type) fcft_stream_read_##suffix (stream, &error), error != 0 )
-+
-+#define FCFT_READ_BYTE(val) FCFT_READ_(val,FT_Byte,byte)
-+#define FCFT_READ_SHORT(val) FCFT_READ_(val,FT_Short,short)
-+#define FCFT_READ_LONG(val) FCFT_READ_(val,FT_Long,long)
-+
-+#define FCFT_READ_CHAR(val) FCFT_READ_(val,FT_Char,byte)
-+#define FCFT_READ_USHORT(val) FCFT_READ_(val,FT_UShort,short)
-+#define FCFT_READ_ULONG(val) FCFT_READ_(val,FT_ULong,long)
-+
-+
-+FCFT_API( FT_Long )
-+fcft_stream_pos( FT_Stream stream );
-+
-+FCFT_API( FT_Error )
-+fcft_stream_seek( FT_Stream stream,
-+ FT_Long pos );
-+
-+FCFT_API( FT_Error )
-+fcft_stream_frame_enter( FT_Stream stream,
-+ FT_ULong size );
-+
-+FCFT_API( void )
-+fcft_stream_frame_exit( FT_Stream stream );
-+
-+FCFT_API( FT_Byte )
-+fcft_stream_get_byte( FT_Stream stream );
-+
-+FCFT_API( FT_Short )
-+fcft_stream_get_short( FT_Stream stream );
-+
-+FCFT_API( FT_Long )
-+fcft_stream_get_long( FT_Stream stream );
-+
-+FCFT_API( FT_Byte )
-+fcft_stream_read_byte( FT_Stream stream,
-+ FT_Error *perror );
-+
-+FCFT_API( FT_Short )
-+fcft_stream_read_short( FT_Stream stream,
-+ FT_Error *perror );
-+
-+FCFT_API( FT_Long )
-+fcft_stream_read_long( FT_Stream stream,
-+ FT_Error *perror );
-+
-+FCFT_API( FT_Error )
-+fcft_face_goto_table( FT_Face face,
-+ FT_ULong tag,
-+ FT_Stream stream );
-+
-+/* memory macros used by the OpenType parser */
-+#define FCFT_MEM_ALLOC(_ptr,_size) \
-+ ( (_ptr) = fcft_alloc( memory, _size, &error ), error != 0 )
-+
-+#define FCFT_MEM_REALLOC(_ptr,_oldsz,_newsz) \
-+ ( (_ptr) = fcft_realloc( memory, (_ptr), (_oldsz), (_newsz), &error ), error != 0 )
-+
-+#define FCFT_FREE(_ptr) \
-+ FT_BEGIN_STMNT \
-+ if ( (_ptr) ) \
-+ { \
-+ fcft_free( memory, _ptr ); \
-+ _ptr = NULL; \
-+ } \
-+ FT_END_STMNT
-+
-+#define FCFT_MEM_ALLOC_ARRAY(_ptr,_count,_type) \
-+ FCFT_MEM_ALLOC(_ptr,(_count)*sizeof(_type))
-+
-+#define FCFT_MEM_REALLOC_ARRAY(_ptr,_oldcnt,_newcnt,_type) \
-+ FCFT_MEM_REALLOC(_ptr,(_oldcnt)*sizeof(_type),(_newcnt)*sizeof(_type))
-+
-+
-+FCFT_API( FT_Pointer )
-+fcft_alloc( FT_Memory memory,
-+ FT_ULong size,
-+ FT_Error *perror );
-+
-+FCFT_API( FT_Pointer )
-+fcft_realloc( FT_Memory memory,
-+ FT_Pointer block,
-+ FT_ULong old_size,
-+ FT_ULong new_size,
-+ FT_Error *perror );
-+
-+FCFT_API( void )
-+fcft_free( FT_Memory memory,
-+ FT_Pointer block );
-+
-+/* */
-+
-+FT_END_HEADER
-+
-+#endif /* __OPENTYPE_FCFT_H__ */
-diff -urN fontconfig-2.3.2/src/Makefile.am fontconfig-2.3.2-new/src/Makefile.am
---- fontconfig-2.3.2/src/Makefile.am 2004-12-05 06:49:20.000000000 +0100
-+++ fontconfig-2.3.2-new/src/Makefile.am 2005-07-07 13:09:15.416637082 +0200
-@@ -86,6 +86,7 @@
- fcdefault.c \
- fcdir.c \
- fcfreetype.c \
-+ fcftglue.c \
- fcfs.c \
- fcinit.c \
- fclang.c \
-diff -urN fontconfig-2.3.2/src/Makefile.in fontconfig-2.3.2-new/src/Makefile.in
---- fontconfig-2.3.2/src/Makefile.in 2005-04-27 21:08:51.000000000 +0200
-+++ fontconfig-2.3.2-new/src/Makefile.in 2005-07-07 13:09:15.417636939 +0200
-@@ -228,6 +228,7 @@
- fcdefault.c \
- fcdir.c \
- fcfreetype.c \
-+ fcftglue.c \
- fcfs.c \
- fcinit.c \
- fclang.c \
-@@ -257,7 +258,7 @@
- libfontconfig_la_DEPENDENCIES =
- am_libfontconfig_la_OBJECTS = fcatomic.lo fcblanks.lo fccache.lo \
- fccfg.lo fccharset.lo fcdbg.lo fcdefault.lo fcdir.lo \
-- fcfreetype.lo fcfs.lo fcinit.lo fclang.lo fclist.lo fcmatch.lo \
-+ fcfreetype.lo fcftglue.lo fcfs.lo fcinit.lo fclang.lo fclist.lo fcmatch.lo \
- fcmatrix.lo fcname.lo fcpat.lo fcstr.lo fcxml.lo
- libfontconfig_la_OBJECTS = $(am_libfontconfig_la_OBJECTS)
-
Modified: fontconfig.install
===================================================================
--- fontconfig.install 2008-07-06 18:42:11 UTC (rev 4341)
+++ fontconfig.install 2008-07-06 18:44:33 UTC (rev 4342)
@@ -1,10 +1,10 @@
configs=('20-fix-globaladvance.conf'
- '20-lohit-gujarati.conf'
'20-unhint-small-vera.conf'
- '30-amt-aliases.conf'
+ '30-metric-aliases.conf'
'30-urw-aliases.conf'
'30-replace-bitmap-fonts.conf'
- '40-generic.conf'
+ '40-nonlatin.conf'
+ '45-latin.conf'
'49-sansserif.conf'
'50-user.conf'
'51-local.conf'
@@ -15,7 +15,6 @@
'80-delicious.conf'
'90-synthetic.conf')
-# arg 1: the new package version
post_install() {
echo -n "updating font cache... "
/sbin/ldconfig -r .
@@ -28,8 +27,6 @@
echo "done."
}
-# arg 1: the new package version
-# arg 2: the old package version
post_upgrade() {
rm -f /etc/fonts/conf.d/10-bitmaps.conf
cat << _EOF
@@ -45,18 +42,55 @@
_EOF
- if [ "`vercmp 2.4.1-1 $2`" != "-1" ] || [ ! -L /etc/fonts/conf.d/30-replace-bitmap-fonts.conf ]; then
+ if [ `vercmp 2.4.1-1 $2` -gt 0 ]; then
+ # Upgrade from old version, place all symlinks. pre-symlink package version
+ echo -n "Linking configuration files... "
pushd /etc/fonts/conf.d > /dev/null
for config in "${configs[@]}"; do
ln -sf ../conf.avail/${config} .
done
popd > /dev/null
+ echo "done."
fi
+
+ if [ `vercmp 2.6.0-1 $2` -gt 0 ]; then
+ # pre-2.6.0 versions have missing config
+ echo -n "Adding missing configuration files... "
+ pushd /etc/fonts/conf.d > /dev/null
+ ln -sf ../conf.avail/30-metric-aliases.conf .
+ ln -sf ../conf.avail/40-nonlatin.conf .
+ ln -sf ../conf.avail/45-latin.conf .
+ popd > /dev/null
+ echo "done."
+ fi
+
+ # Remove dead links
+ echo -n "Removing outdated configuration files... "
+ for config in /etc/fonts/conf.d/*; do
+ if [ ! -f ${config} ]; then
+ rm -f ${config}
+ fi
+ done
+ echo "done."
+
echo -n "updating font cache... "
/usr/bin/fc-cache -f
echo "done."
}
+pre_upgrade() {
+ # Link new config files not present on system yet
+ echo -n "Symlinking new configuration files... "
+ pushd /etc/fonts/conf.d > /dev/null
+ for config in "${configs[@]}"; do
+ if [ ! -f ../conf.avail/${config} ]; then
+ ln -sf ../conf.avail/${config} .
+ fi
+ done
+ popd > /dev/null
+ echo "done."
+}
+
post_remove() {
pushd /etc/fonts/conf.d > /dev/null
for config in "${configs[@]}"; do
@@ -64,13 +98,3 @@
done
popd > /dev/null
}
-
-# arg 1: the old package version
-pre_remove() {
- /bin/true
-}
-
-op=$1
-shift
-
-$op $*
Deleted: local.conf
===================================================================
--- local.conf 2008-07-06 18:42:11 UTC (rev 4341)
+++ local.conf 2008-07-06 18:44:33 UTC (rev 4342)
@@ -1,34 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
-<!-- /etc/fonts/local.conf file for local customizations -->
-<fontconfig>
-
-<!--
-Use the Auto-Hinter
- <match target="pattern">
- <edit name="autohint" mode="assign">
- <bool>true</bool>
- </edit>
- </match>
--->
-
-<!--
-Disable anti-aliasing for fonts that are size <=12
- <match target="pattern">
- <test qual="any" name="size" compare="less_eq">
- <int>12</int>
- </test>
- <edit name="antialias" mode="assign"><bool>false</bool></edit>
- </match>
--->
-
-<!--
-Enable sub-pixel rendering
- <match target="font">
- <test qual="all" name="rgba">
- <const>unknown</const>
- </test>
- <edit name="rgba" mode="assign"><const>rgb</const></edit>
- </match>
--->
-</fontconfig>
More information about the arch-commits
mailing list