Add instructions for doing a release

clean up .spec file; perhaps this will be useful to somebody...
Update to 2.2.93
Make 'scanopen' static so GCC doesn't whine about lacking prototype
Add WARN_CFLAGS to pass -W flags for GCC systems
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.
This commit is contained in:
Keith Packard 2004-04-14 18:08:41 +00:00
parent 89e28590f3
commit 6ae6acf317
13 changed files with 176 additions and 72 deletions

View File

@ -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):

13
INSTALL
View File

@ -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

27
README
View File

@ -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

View File

@ -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

View File

@ -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}

View File

@ -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

View File

@ -77,7 +77,7 @@ get_line (FILE *f, char *line, int *lineno)
char *dir = 0;
FILE *
static FILE *
scanopen (char *file)
{
FILE *f;

View File

@ -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)

View File

@ -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)

View File

@ -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

View File

@ -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))

View File

@ -44,6 +44,7 @@ endif
INCLUDES = \
$(FREETYPE_CFLAGS) \
$(EXPAT_CFLAGS) \
$(WARN_CFLAGS) \
-DFONTCONFIG_PATH='"$(CONFDIR)"' \
-I$(top_srcdir) \
-I$(top_srcdir)/src

View File

@ -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)