summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog30
-rw-r--r--INSTALL13
-rw-r--r--README27
-rw-r--r--configure.in14
-rw-r--r--fc-glyphname/Makefile.am2
-rw-r--r--fc-lang/Makefile.am2
-rw-r--r--fc-lang/fc-lang.c2
-rw-r--r--fc-list/Makefile.am2
-rw-r--r--fc-match/Makefile.am2
-rw-r--r--fontconfig.spec.in42
-rw-r--r--fontconfig/fontconfig.h2
-rw-r--r--src/Makefile.am1
-rw-r--r--src/fcfreetype.c109
13 files changed, 176 insertions, 72 deletions
diff --git a/ChangeLog b/ChangeLog
index 0462630..311e4d6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,33 @@
+2004-04-14 Keith Packard <keithp@keithp.com>
+
+ * INSTALL:
+ Add instructions for doing a release
+
+ * fontconfig.spec.in:
+ clean up .spec file; perhaps this will be useful to somebody...
+
+ * README:
+ * configure.in:
+ * fontconfig/fontconfig.h:
+ Update to 2.2.93
+
+ * fc-lang/fc-lang.c:
+ Make 'scanopen' static so GCC doesn't whine about lacking prototype
+
+ * fc-glyphname/Makefile.am:
+ * fc-lang/Makefile.am:
+ * fc-list/Makefile.am:
+ * fc-match/Makefile.am:
+ * src/Makefile.am:
+ Add WARN_CFLAGS to pass -W flags for GCC systems
+
+ * src/fcfreetype.c: (FcNoticeFoundry), (FcVendorMatch),
+ (FcVendorFoundry), (FcGetPixelSize), (FcFreeTypeQuery):
+ Change various char types around to match across
+ function calls.
+ Fixed bug in using available_sizes[i].height which
+ is in pixels, not 64ths of a pixel.
+
2004-03-06 Keith Packard <keithp@keithp.com>
* src/fcfreetype.c: (FcFreeTypeQuery):
diff --git a/INSTALL b/INSTALL
index 86cf4f9..dcd6b3f 100644
--- a/INSTALL
+++ b/INSTALL
@@ -7,3 +7,16 @@ This should generate valid Makefiles, then:
$ make
$ make install
+If you're going to package fontconfig for release, there are several
+important steps:
+
+ 1. Update the version numbers
+ configure.in
+ fontconfig/fontconfig.h
+ 2. Fix the README
+ Change version number
+ Set the date
+ 3. Commit those changes
+ 4. tag the tree
+ cvs tag fc-2_2_xx
+ 5. make dist
diff --git a/README b/README
index 5fceba8..381eee7 100644
--- a/README
+++ b/README
@@ -1,7 +1,30 @@
Fontconfig
Font configuration and customization library
- Version 2.2
- 2003-3-1
+ Version 2.2.92
+ 2004-2-19
+
+2.2.93
+
+This is the third prerelease of fontconfig 2.3. Significant changes from
+2.2.92 are:
+
+ o Use new FreeType #include syntax
+ o use y_ppem field instead of 'height' in bitmap sizes rec -
+ FreeType changed the semantics. Still uses height for
+ older versions of FreeType
+ o Don't construct program manuals unless docbook is available
+
+2.2.92
+
+ o make distcheck work
+
+2.2.91
+
+ o Switch to SGML manuals
+ o Add FC_DUAL width spacing value
+ o Add FcFini to close out fontconfig and release all memory
+
+2.2
This is the third public release of fontconfig, a font configuration and
customization library. Fontconfig is designed to locate fonts within the
diff --git a/configure.in b/configure.in
index 100d7b9..910ac28 100644
--- a/configure.in
+++ b/configure.in
@@ -33,7 +33,8 @@ dnl This is the package version number, not the shared library
dnl version. This same version number must appear in fontconfig/fontconfig.h
dnl Yes, it is a pain to synchronize version numbers. Unfortunately, it's
dnl not possible to extract the version number here from fontconfig.h
-AM_INIT_AUTOMAKE(fontconfig, 2.2.92)
+AM_INIT_AUTOMAKE(fontconfig, 2.2.93)
+AM_MAINTAINER_MODE
dnl libtool versioning
@@ -76,6 +77,15 @@ if test "$os_win32" = "yes"; then
fi
AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)
+WARN_CFLAGS=""
+
+if test "x$GCC" = "xyes"; then
+ WARN_CFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes \
+ -Wmissing-prototypes -Wmissing-declarations \
+ -Wnested-externs -fno-strict-aliasing"
+fi
+AC_SUBST(WARN_CFLAGS)
+
dnl ==========================================================================
# Checks for header files.
@@ -132,6 +142,8 @@ AC_CHECK_MEMBER(FT_Bitmap_Size.y_ppem,
#include FT_FREETYPE_H])
AC_DEFINE_UNQUOTED(HAVE_FT_BITMAP_SIZE_Y_PPEM,$HAVE_FT_BITMAP_SIZE_Y_PPEM,
[FT_Bitmap_Size structure includes y_ppem field])
+CFLAGS="$fontconfig_save_cflags"
+LIBS="$fontconfig_save_libs"
#
# Check expat configuration
diff --git a/fc-glyphname/Makefile.am b/fc-glyphname/Makefile.am
index d741f4e..25dbdff 100644
--- a/fc-glyphname/Makefile.am
+++ b/fc-glyphname/Makefile.am
@@ -22,7 +22,7 @@
# PERFORMANCE OF THIS SOFTWARE.
#
-INCLUDES=-I${top_srcdir}/src -I${top_srcdir} $(FREETYPE_CFLAGS)
+INCLUDES=-I${top_srcdir}/src -I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS)
TMPL=fcglyphname.tmpl.h
STMPL=${top_srcdir}/fc-glyphname/${TMPL}
diff --git a/fc-lang/Makefile.am b/fc-lang/Makefile.am
index 3544545..d97e52e 100644
--- a/fc-lang/Makefile.am
+++ b/fc-lang/Makefile.am
@@ -22,7 +22,7 @@
# PERFORMANCE OF THIS SOFTWARE.
#
-INCLUDES=-I${top_srcdir}/src -I${top_srcdir} $(FREETYPE_CFLAGS)
+INCLUDES=-I${top_srcdir}/src -I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS)
TMPL=fclang.tmpl.h
STMPL=${top_srcdir}/fc-lang/fclang.tmpl.h
diff --git a/fc-lang/fc-lang.c b/fc-lang/fc-lang.c
index edfad3b..31d708b 100644
--- a/fc-lang/fc-lang.c
+++ b/fc-lang/fc-lang.c
@@ -77,7 +77,7 @@ get_line (FILE *f, char *line, int *lineno)
char *dir = 0;
-FILE *
+static FILE *
scanopen (char *file)
{
FILE *f;
diff --git a/fc-list/Makefile.am b/fc-list/Makefile.am
index 427ab18..1a50948 100644
--- a/fc-list/Makefile.am
+++ b/fc-list/Makefile.am
@@ -29,7 +29,7 @@ SGML = ${FC_LIST_SRC}/fc-list.sgml
bin_PROGRAMS=fc-list
-INCLUDES=-I${top_srcdir} $(FREETYPE_CFLAGS)
+INCLUDES=-I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS)
EXTRA_DIST=$(SGML)
diff --git a/fc-match/Makefile.am b/fc-match/Makefile.am
index 80629fc..7a32e34 100644
--- a/fc-match/Makefile.am
+++ b/fc-match/Makefile.am
@@ -25,7 +25,7 @@ bin_PROGRAMS=fc-match
man_MANS=fc-match.1
-INCLUDES=-I${top_srcdir} $(FREETYPE_CFLAGS)
+INCLUDES=-I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS)
EXTRA_DIST=$(man_MANS)
diff --git a/fontconfig.spec.in b/fontconfig.spec.in
index 47e80aa..9037352 100644
--- a/fontconfig.spec.in
+++ b/fontconfig.spec.in
@@ -38,22 +38,31 @@ header files, and developer docs for the fontconfig package.
Install fontconfig-devel if you want to develop programs which
will use fontconfig.
+# Some rpm specific directories. Prefix 'my' hopefully does not collide with anything.
+%define my_docdir %{_datadir}/doc/%{name}-%{version}
+%define my_develdocdir %{_datadir}/doc/%{name}-devel-%{version}
+%define my_tmpdocdir $RPM_BUILD_ROOT%{my_docdir}
+%define my_tmpdeveldocdir $RPM_BUILD_ROOT%{my_develdocdir}
+
%prep
%setup -q
%build
-%configure --with-x-fonts=/usr/X11R6/lib/X11/fonts --disable-gtk-doc --disable-docs
+%configure --with-x-fonts=/usr/X11R6/lib/X11/fonts --disable-gtk-doc \
+ --with-docdir=%{my_docdir}
make %{_smp_mflags}
%install
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
{
- %makeinstall
- # fontconfig is currently installing these in improper location for RPM
- # based Linux distributions, so we remove what it installs here, and let
- # RPM pick up the same files with 'doc' directives in the file lists as
- # a workaround
- rm -rf $RPM_BUILD_ROOT/%{_datadir}/doc/fontconfig
+ %makeinstall docdir=%{my_tmpdocdir}
+
+ # The make does not distinguish the base and devel packages
+ mkdir -p %{my_tmpdeveldocdir}
+ mv -f %{my_tmpdocdir}/*devel* %{my_tmpdeveldocdir}
+
+ # Use a more informative directory name:
+ mv -f %{my_tmpdeveldocdir}/fontconfig-devel %{my_tmpdeveldocdir}/html
}
%clean
@@ -70,20 +79,23 @@ make %{_smp_mflags}
%files
%defattr(-, root, root)
-%doc README AUTHORS COPYING ChangeLog doc/fontconfig-*.{html,txt}
+%doc README AUTHORS COPYING ChangeLog doc/fontconfig-user.{html,txt}
+%{my_docdir}/*
%dir %{_sysconfdir}/fonts
%{_sysconfdir}/fonts/fonts.conf
%{_sysconfdir}/fonts/fonts.dtd
%config %{_sysconfdir}/fonts/local.conf
%{_bindir}/fc-*
%{_libdir}/libfontconfig*.so.*
+%{_mandir}/man1/*
%{_mandir}/man5/*
%files devel
%defattr(-, root, root)
-%doc doc/fontconfig-devel.txt doc/fontconfig-devel/*
+#%doc doc/fontconfig-devel.txt doc/fontconfig-devel/*
+%{my_develdocdir}
%dir %{_includedir}/fontconfig
-%{_includedir}/fontconfig
+%{_includedir}/fontconfig/*
%{_libdir}/*.a
%{_libdir}/*.la
%{_libdir}/libfontconfig.so
@@ -91,6 +103,16 @@ make %{_smp_mflags}
%{_mandir}/man3/*
%changelog
+* Wed Mar 20 2004 Enrique Perez-Terron <enrio@online.no>
+- Added mandir /man1/* to main file list
+- Added missing '/*' after includedir/fontconfig to avoid "listed twice" error.
+- Removed configure option --disable-docs since its problem is solved, see below.
+- Added option to makeinstall to have it install docs in the proper directory.
+ Notice though that the %doc macro deletes and recreates the docs directory.
+- Cleaner separation of devel docs.
+- Renamed doc/fontconfig-devel-*/fontconfig-devel subdirectory to 'html'.
+- Removed %doc macro from devel filelist, since it deletes installed files.
+
* Fri Mar 7 2003 Mike A. Harris <mharris@redhat.com> 2.1.92-1
- Removed man1/* and added man5/* to main package and man3/* to devel package
- Added missing defattr(-, root, root) to main package
diff --git a/fontconfig/fontconfig.h b/fontconfig/fontconfig.h
index 8894219..75c16d3 100644
--- a/fontconfig/fontconfig.h
+++ b/fontconfig/fontconfig.h
@@ -40,7 +40,7 @@ typedef int FcBool;
#define FC_MAJOR 2
#define FC_MINOR 2
-#define FC_REVISION 92
+#define FC_REVISION 93
#define FC_VERSION ((FC_MAJOR * 10000) + (FC_MINOR * 100) + (FC_REVISION))
diff --git a/src/Makefile.am b/src/Makefile.am
index 7890e96..0e42b24 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -44,6 +44,7 @@ endif
INCLUDES = \
$(FREETYPE_CFLAGS) \
$(EXPAT_CFLAGS) \
+ $(WARN_CFLAGS) \
-DFONTCONFIG_PATH='"$(CONFDIR)"' \
-I$(top_srcdir) \
-I$(top_srcdir)/src
diff --git a/src/fcfreetype.c b/src/fcfreetype.c
index 6248595..816f08a 100644
--- a/src/fcfreetype.c
+++ b/src/fcfreetype.c
@@ -158,31 +158,34 @@ FcUtf8IsLatin (FcChar8 *str, int len)
URW++, and both strings appear in the notice. */
static const struct {
- const FcChar8 *notice;
+ const FT_String *notice;
const FcChar8 *foundry;
} FcNoticeFoundries[] = {
- { (const FcChar8*) "Bigelow", (const FcChar8 *) "b&h" },
- { (const FcChar8*) "Adobe", (const FcChar8 *) "adobe" },
- { (const FcChar8*) "Bitstream", (const FcChar8 *) "bitstream" },
- { (const FcChar8*) "Monotype", (const FcChar8 *) "monotype" },
- { (const FcChar8*) "Linotype", (const FcChar8 *) "linotype" },
- { (const FcChar8*) "LINOTYPE-HELL", (const FcChar8 *) "linotype" },
- { (const FcChar8*) "IBM", (const FcChar8 *) "ibm" },
- { (const FcChar8*) "URW", (const FcChar8 *) "urw" },
- { (const FcChar8*) "International Typeface Corporation",
+ { (const FT_String *) "Bigelow", (const FcChar8 *) "b&h" },
+ { (const FT_String *) "Adobe", (const FcChar8 *) "adobe" },
+ { (const FT_String *) "Bitstream", (const FcChar8 *) "bitstream" },
+ { (const FT_String *) "Monotype", (const FcChar8 *) "monotype" },
+ { (const FT_String *) "Linotype", (const FcChar8 *) "linotype" },
+ { (const FT_String *) "LINOTYPE-HELL",
+ (const FcChar8 *) "linotype" },
+ { (const FT_String *) "IBM", (const FcChar8 *) "ibm" },
+ { (const FT_String *) "URW", (const FcChar8 *) "urw" },
+ { (const FT_String *) "International Typeface Corporation",
(const FcChar8 *) "itc" },
- { (const FcChar8*) "Tiro Typeworks",(const FcChar8 *) "tiro" },
- { (const FcChar8*) "XFree86", (const FcChar8 *) "xfree86" },
- { (const FcChar8*) "Microsoft", (const FcChar8 *) "microsoft" },
- { (const FcChar8*) "Omega", (const FcChar8 *) "omega" },
- { (const FcChar8*) "Font21", (const FcChar8 *) "hwan" },
- { (const FcChar8*) "HanYang System",(const FcChar8 *) "hanyang" }
+ { (const FT_String *) "Tiro Typeworks",
+ (const FcChar8 *) "tiro" },
+ { (const FT_String *) "XFree86", (const FcChar8 *) "xfree86" },
+ { (const FT_String *) "Microsoft", (const FcChar8 *) "microsoft" },
+ { (const FT_String *) "Omega", (const FcChar8 *) "omega" },
+ { (const FT_String *) "Font21", (const FcChar8 *) "hwan" },
+ { (const FT_String *) "HanYang System",
+ (const FcChar8 *) "hanyang" }
};
#define NUM_NOTICE_FOUNDRIES (sizeof (FcNoticeFoundries) / sizeof (FcNoticeFoundries[0]))
static const FcChar8 *
-FcNoticeFoundry(const char *notice)
+FcNoticeFoundry(const FT_String *notice)
{
int i;
@@ -194,7 +197,7 @@ FcNoticeFoundry(const char *notice)
}
static FcBool
-FcVendorMatch(const char *vendor, const char *vendor_string)
+FcVendorMatch(const FT_Char vendor[4], const FT_Char *vendor_string)
{
/* vendor is not necessarily NUL-terminated. */
int i, len;
@@ -214,44 +217,44 @@ FcVendorMatch(const char *vendor, const char *vendor_string)
entries for padding both with spaces and NULs. */
static const struct {
- const FcChar8 *vendor;
+ const FT_Char *vendor;
const FcChar8 *foundry;
} FcVendorFoundries[] = {
- { (const FcChar8*) "ADBE", (const FcChar8 *) "adobe"},
- { (const FcChar8*) "AGFA", (const FcChar8 *) "agfa"},
- { (const FcChar8*) "ALTS", (const FcChar8 *) "altsys"},
- { (const FcChar8*) "APPL", (const FcChar8 *) "apple"},
- { (const FcChar8*) "ARPH", (const FcChar8 *) "arphic"},
- { (const FcChar8*) "ATEC", (const FcChar8 *) "alltype"},
- { (const FcChar8*) "B&H", (const FcChar8 *) "b&h"},
- { (const FcChar8*) "BITS", (const FcChar8 *) "bitstream"},
- { (const FcChar8*) "CANO", (const FcChar8 *) "cannon"},
- { (const FcChar8*) "DYNA", (const FcChar8 *) "dynalab"},
- { (const FcChar8*) "EPSN", (const FcChar8 *) "epson"},
- { (const FcChar8*) "FJ", (const FcChar8 *) "fujitsu"},
- { (const FcChar8*) "IBM", (const FcChar8 *) "ibm"},
- { (const FcChar8*) "ITC", (const FcChar8 *) "itc"},
- { (const FcChar8*) "IMPR", (const FcChar8 *) "impress"},
- { (const FcChar8*) "LARA", (const FcChar8 *) "larabiefonts"},
- { (const FcChar8*) "LEAF", (const FcChar8 *) "interleaf"},
- { (const FcChar8*) "LETR", (const FcChar8 *) "letraset"},
- { (const FcChar8*) "LINO", (const FcChar8 *) "linotype"},
- { (const FcChar8*) "MACR", (const FcChar8 *) "macromedia"},
- { (const FcChar8*) "MONO", (const FcChar8 *) "monotype"},
- { (const FcChar8*) "MS", (const FcChar8 *) "microsoft"},
- { (const FcChar8*) "MT", (const FcChar8 *) "monotype"},
- { (const FcChar8*) "NEC", (const FcChar8 *) "nec"},
- { (const FcChar8*) "PARA", (const FcChar8 *) "paratype"},
- { (const FcChar8*) "QMSI", (const FcChar8 *) "qms"},
- { (const FcChar8*) "RICO", (const FcChar8 *) "ricoh"},
- { (const FcChar8*) "URW", (const FcChar8 *) "urw"},
- { (const FcChar8*) "Y&Y", (const FcChar8 *) "y&y"}
+ { (const FT_Char *) "ADBE", (const FcChar8 *) "adobe"},
+ { (const FT_Char *) "AGFA", (const FcChar8 *) "agfa"},
+ { (const FT_Char *) "ALTS", (const FcChar8 *) "altsys"},
+ { (const FT_Char *) "APPL", (const FcChar8 *) "apple"},
+ { (const FT_Char *) "ARPH", (const FcChar8 *) "arphic"},
+ { (const FT_Char *) "ATEC", (const FcChar8 *) "alltype"},
+ { (const FT_Char *) "B&H", (const FcChar8 *) "b&h"},
+ { (const FT_Char *) "BITS", (const FcChar8 *) "bitstream"},
+ { (const FT_Char *) "CANO", (const FcChar8 *) "cannon"},
+ { (const FT_Char *) "DYNA", (const FcChar8 *) "dynalab"},
+ { (const FT_Char *) "EPSN", (const FcChar8 *) "epson"},
+ { (const FT_Char *) "FJ", (const FcChar8 *) "fujitsu"},
+ { (const FT_Char *) "IBM", (const FcChar8 *) "ibm"},
+ { (const FT_Char *) "ITC", (const FcChar8 *) "itc"},
+ { (const FT_Char *) "IMPR", (const FcChar8 *) "impress"},
+ { (const FT_Char *) "LARA", (const FcChar8 *) "larabiefonts"},
+ { (const FT_Char *) "LEAF", (const FcChar8 *) "interleaf"},
+ { (const FT_Char *) "LETR", (const FcChar8 *) "letraset"},
+ { (const FT_Char *) "LINO", (const FcChar8 *) "linotype"},
+ { (const FT_Char *) "MACR", (const FcChar8 *) "macromedia"},
+ { (const FT_Char *) "MONO", (const FcChar8 *) "monotype"},
+ { (const FT_Char *) "MS", (const FcChar8 *) "microsoft"},
+ { (const FT_Char *) "MT", (const FcChar8 *) "monotype"},
+ { (const FT_Char *) "NEC", (const FcChar8 *) "nec"},
+ { (const FT_Char *) "PARA", (const FcChar8 *) "paratype"},
+ { (const FT_Char *) "QMSI", (const FcChar8 *) "qms"},
+ { (const FT_Char *) "RICO", (const FcChar8 *) "ricoh"},
+ { (const FT_Char *) "URW", (const FcChar8 *) "urw"},
+ { (const FT_Char *) "Y&Y", (const FcChar8 *) "y&y"}
};
#define NUM_VENDOR_FOUNDRIES (sizeof (FcVendorFoundries) / sizeof (FcVendorFoundries[0]))
static const FcChar8 *
-FcVendorFoundry(const char *vendor)
+FcVendorFoundry(const FT_Char vendor[4])
{
int i;
@@ -263,8 +266,8 @@ FcVendorFoundry(const char *vendor)
}
typedef struct _FcStringConst {
- const char *name;
- int value;
+ const FcChar8 *name;
+ int value;
} FcStringConst;
static int
@@ -361,7 +364,7 @@ FcGetPixelSize (FT_Face face, int i)
#if HAVE_FT_BITMAP_SIZE_Y_PPEM
return (double) face->available_sizes[i].y_ppem / 64.0;
#else
- return (double) face->available_sizes[i].height / 64.0;
+ return (double) face->available_sizes[i].height;
#endif
}
@@ -670,7 +673,7 @@ FcFreeTypeQuery (const FcChar8 *file,
case TT_NAME_ID_MANUFACTURER:
/* If the foundry wasn't found in the OS/2 table, look here */
if(!foundry)
- foundry = FcNoticeFoundry(utf8);
+ foundry = FcNoticeFoundry((FT_String *) utf8);
break;
}
if (utf8)