Update to libfontenc 1.1.1

This commit is contained in:
matthieu 2012-03-04 18:25:21 +00:00
parent b78c16cdfb
commit b914fa9d89
11 changed files with 28068 additions and 22293 deletions

View File

@ -1,3 +1,98 @@
commit 6012075d945e527866ef31b8796e04d6581071db
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Fri Mar 2 17:51:30 2012 -0800
libfontenc 1.1.1
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 381c9efec4c066d984514d226b61b3360741aea2
Author: Jeremy Huddleston <jeremyhu@apple.com>
Date: Fri Nov 11 10:22:52 2011 -0800
Include strings.h for strcasecmp
Our minimum requirement for X11 is currently Unix98. Unix98 provides
strcasecmp in <strings.h>. This commit fixes implicit declarations
of this function on systems that closely adhere to the standard.
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
commit 1da600011b7e89981592308843ce7230fa5f87f1
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Fri Sep 16 22:07:14 2011 -0700
Strip trailing whitespace
Performed with: find * -type f | xargs perl -i -p -e 's{[ \t]+$}{}'
git diff -w & git diff -b show no diffs from this change
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 272b776fbd8598ff447585b8105e622d8244db7c
Author: Jeremy Huddleston <jeremyhu@apple.com>
Date: Mon May 9 09:43:24 2011 -0700
Dead code removal
encparse.c:750:9: warning: Value stored to 'namsize' is never read
namsize = 0;
^ ~
Found-by: clang static analyzer
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
commit 39800e873e8a57ee904aaf3e39315f5250bcd26f
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Thu Feb 3 17:37:36 2011 -0500
config: comment, minor upgrade, quote and layout configure.ac
Group statements per section as per Autoconf standard layout
Quote statements where appropriate.
Autoconf recommends not using dnl instead of # for comments
Use AC_CONFIG_FILES to replace the deprecated AC_OUTPUT with parameters.
Add AC_CONFIG_SRCDIR([Makefile.am])
Update X.Org util-macros to version 1.8
This helps automated maintenance and release activities.
Details can be found in http://wiki.x.org/wiki/NewModuleGuidelines
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
commit bd845a08f03afc4065cf418647d27129044fe96f
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Fri Jan 28 19:41:37 2011 -0500
config: replace deprecated AM_CONFIG_HEADER with AC_CONFIG_HEADERS
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
commit 8acc384499a31bd41a7b62e8f6977d67182e5f06
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Thu Jan 27 18:50:14 2011 -0500
config: remove AC_PROG_CC as it overrides AC_PROG_C_C99
XORG_STRICT_OPTION from XORG_DEFAULT_OPTIONS calls
AC_PROG_C_C99. This sets gcc with -std=gnu99.
If AC_PROG_CC macro is called afterwards, it resets CC to gcc.
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
commit 0e3929c939d3f6c2ca79defcad8d2cceb3dba5df
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Fri Nov 19 22:03:22 2010 -0800
Fail configure if zlib.h & -lz not found
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=31595
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
commit a52174d1a7562a656559f9bb728a80982b814043
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Wed Oct 20 22:35:18 2010 -0700

View File

@ -1,6 +1,6 @@
#
#
# Copyright 2005 Red Hat, Inc.
#
#
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
# the above copyright notice appear in all copies and that both that
@ -10,7 +10,7 @@
# specific, written prior permission. Red Hat makes no
# representations about the suitability of this software for any purpose. It
# is provided "as is" without express or implied warranty.
#
#
# RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
# EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR

View File

@ -14,9 +14,9 @@
@SET_MAKE@
#
#
# Copyright 2005 Red Hat, Inc.
#
#
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
# the above copyright notice appear in all copies and that both that
@ -26,7 +26,7 @@
# specific, written prior permission. Red Hat makes no
# representations about the suitability of this software for any purpose. It
# is provided "as is" without express or implied warranty.
#
#
# RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
# EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
@ -44,9 +44,9 @@ pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = .
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
install_sh_DATA = ${SHELL} $(install_sh) -c -m 644
install_sh_PROGRAM = ${SHELL} $(install_sh) -c
install_sh_SCRIPT = ${SHELL} $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
@ -117,6 +117,7 @@ AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BASE_CFLAGS = @BASE_CFLAGS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
@ -124,25 +125,21 @@ CHANGELOG_CMD = @CHANGELOG_CMD@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CWARNFLAGS = @CWARNFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DRIVER_MAN_DIR = @DRIVER_MAN_DIR@
DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
DSYMUTIL = @DSYMUTIL@
ECHO = @ECHO@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENCODINGSDIR = @ENCODINGSDIR@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
FILE_MAN_DIR = @FILE_MAN_DIR@
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
FONTENC_CFLAGS = @FONTENC_CFLAGS@
@ -154,6 +151,7 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
@ -164,17 +162,23 @@ LINT = @LINT@
LINT_FALSE = @LINT_FALSE@
LINT_FLAGS = @LINT_FLAGS@
LINT_TRUE = @LINT_TRUE@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MAN_SUBSTS = @MAN_SUBSTS@
MISC_MAN_DIR = @MISC_MAN_DIR@
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
@ -187,16 +191,15 @@ RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRICT_CFLAGS = @STRICT_CFLAGS@
STRIP = @STRIP@
VERSION = @VERSION@
XORG_MAN_PAGE = @XORG_MAN_PAGE@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@

10671
lib/libfontenc/aclocal.m4 vendored

File diff suppressed because it is too large Load Diff

View File

@ -33,6 +33,10 @@
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
#undef LT_OBJDIR
/* Name of package */
#undef PACKAGE

29199
lib/libfontenc/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,64 +1,64 @@
# Copyright 2005 Red Hat, Inc.
#
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
# the above copyright notice appear in all copies and that both that
# copyright notice and this permission notice appear in supporting
# documentation, and that the name of Red Hat not be used in
# advertising or publicity pertaining to distribution of the software without
# specific, written prior permission. Red Hat makes no
# representations about the suitability of this software for any purpose. It
# is provided "as is" without express or implied warranty.
#
# RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
# EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
#
dnl Copyright 2005 Red Hat, Inc.
dnl
dnl Permission to use, copy, modify, distribute, and sell this software and its
dnl documentation for any purpose is hereby granted without fee, provided that
dnl the above copyright notice appear in all copies and that both that
dnl copyright notice and this permission notice appear in supporting
dnl documentation, and that the name of Red Hat not be used in
dnl advertising or publicity pertaining to distribution of the software without
dnl specific, written prior permission. Red Hat makes no
dnl representations about the suitability of this software for any purpose. It
dnl is provided "as is" without express or implied warranty.
dnl
dnl RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
dnl INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
dnl EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
dnl CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
dnl DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
dnl TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
dnl PERFORMANCE OF THIS SOFTWARE.
dnl
dnl Process this file with autoconf to create configure.
# Initialize Autoconf
AC_PREREQ([2.60])
AC_INIT([libfontenc], [1.1.1],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [libfontenc])
AC_CONFIG_SRCDIR([Makefile.am])
AC_CONFIG_HEADERS([config.h])
AC_INIT([libfontenc], [1.1.0],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
[libfontenc])
# Initialize Automake
AM_INIT_AUTOMAKE([foreign dist-bzip2])
AM_MAINTAINER_MODE
# Require xorg-macros: XORG_DEFAULT_OPTIONS
m4_ifndef([XORG_MACROS_VERSION],
[m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
XORG_MACROS_VERSION(1.3)
XORG_DEFAULT_OPTIONS
AM_CONFIG_HEADER(config.h)
# Check for progs
AC_PROG_CC
# Initialize libtool
AC_PROG_LIBTOOL
# Require X.Org macros 1.8 or later
m4_ifndef([XORG_MACROS_VERSION],
[m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])])
XORG_MACROS_VERSION(1.8)
XORG_DEFAULT_OPTIONS
# Require X.Org's font util macros 1.1 or later for XORG_FONTROOTDIR
m4_ifndef([XORG_FONT_MACROS_VERSION],
[m4_fatal([must install X.Org font-util 1.1 or later before running autoconf/autogen])])
XORG_FONT_MACROS_VERSION(1.1)
XORG_FONTSUBDIR([ENCODINGSDIR], [encodingsdir], [encodings])
# zlib
AC_CHECK_HEADER([zlib.h], [],
AC_MSG_FAILURE([zlib.h is required to compile libfontenc]))
AC_CHECK_LIB(z, gzclose, [],
AC_MSG_FAILURE([zlib is required to compile libfontenc]))
AC_CHECK_LIB(z, gzclose)
# Check for dependencies
# Obtain compiler/linker options for depedencies
PKG_CHECK_MODULES(FONTENC, xproto)
dnl Allow checking code with lint, sparse, etc.
# Allow checking code with lint, sparse, etc.
XORG_WITH_LINT
LINT_FLAGS="${LINT_FLAGS} ${FONTENC_CFLAGS}"
AC_OUTPUT([Makefile
src/Makefile
fontenc.pc])
AC_CONFIG_FILES([Makefile
src/Makefile
fontenc.pc])
AC_OUTPUT

File diff suppressed because it is too large Load Diff

View File

@ -24,9 +24,9 @@ pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
install_sh_DATA = ${SHELL} $(install_sh) -c -m 644
install_sh_PROGRAM = ${SHELL} $(install_sh) -c
install_sh_SCRIPT = ${SHELL} $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
@ -92,6 +92,7 @@ AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BASE_CFLAGS = @BASE_CFLAGS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
@ -99,25 +100,21 @@ CHANGELOG_CMD = @CHANGELOG_CMD@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CWARNFLAGS = @CWARNFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DRIVER_MAN_DIR = @DRIVER_MAN_DIR@
DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
DSYMUTIL = @DSYMUTIL@
ECHO = @ECHO@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENCODINGSDIR = @ENCODINGSDIR@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
FILE_MAN_DIR = @FILE_MAN_DIR@
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
FONTENC_CFLAGS = @FONTENC_CFLAGS@
@ -129,6 +126,7 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
@ -139,17 +137,23 @@ LINT = @LINT@
LINT_FALSE = @LINT_FALSE@
LINT_FLAGS = @LINT_FLAGS@
LINT_TRUE = @LINT_TRUE@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MAN_SUBSTS = @MAN_SUBSTS@
MISC_MAN_DIR = @MISC_MAN_DIR@
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
@ -162,16 +166,15 @@ RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRICT_CFLAGS = @STRICT_CFLAGS@
STRIP = @STRIP@
VERSION = @VERSION@
XORG_MAN_PAGE = @XORG_MAN_PAGE@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@

View File

@ -28,11 +28,8 @@ THE SOFTWARE.
to be pure ASCII. Bloody ``Code Set Independence''. */
#include <string.h>
#include <stdio.h>
#if defined(__SCO__) || defined(__UNIXWARE__)
#include <strings.h>
#endif
#include <stdio.h>
#include <stdlib.h>
@ -85,7 +82,7 @@ skipEndOfLine(FontFilePtr f, int c)
{
if(c == 0)
c = FontFileGetc(f);
for(;;)
if(c <= 0 || c == '\n')
return;
@ -125,7 +122,7 @@ getnum(FontFilePtr f, int c, int *cp)
*cp = c; return n;
}
/* Skip to beginning of new line; return 1 if only whitespace was found. */
static int
endOfLine(FontFilePtr f, int c)
@ -362,7 +359,7 @@ getnextline(FontFilePtr f)
return ERROR_LINE;
}
} else if(!strcasecmp(keyword_value, "ENDENCODING")) {
if(endOfLine(f,c))
if(endOfLine(f,c))
return EOF_LINE;
else
return ERROR_LINE;
@ -380,7 +377,7 @@ getnextline(FontFilePtr f)
}
}
static void
static void
install_mapping(FontEncPtr encoding, FontMapPtr mapping)
{
FontMapPtr m;
@ -637,7 +634,7 @@ parseEncodingFile(FontFilePtr f, int headerOnly)
goto error;
}
goto mapping;
case CODE_UNDEFINE_LINE:
if(value1 > 0x10000)
value1 = 0x10000;
@ -658,7 +655,7 @@ parseEncodingFile(FontFilePtr f, int headerOnly)
default: goto mapping; /* ignore unknown lines */
}
string_mapping:
line = getnextline(f);
switch(line) {
@ -747,7 +744,6 @@ error:
for(i = first; i <= last; i++)
free(nam[i]);
free(nam);
namsize = 0;
}
if(mapping) {
free(mapping->client_data);
@ -792,16 +788,16 @@ parseFontFileName(const char *fontFileName, char *buf, char *dir)
{
const char *p;
char *q, *lastslash;
for(p = fontFileName, q = dir, lastslash = NULL; *p; p++, q++) {
*q = *p;
if(*p == '/')
lastslash = q+1;
}
if(!lastslash)
lastslash = dir;
*lastslash = '\0';
if(buf && strlen(dir) + 14 < MAXFONTFILENAMELEN) {
@ -811,7 +807,7 @@ parseFontFileName(const char *fontFileName, char *buf, char *dir)
}
static FontEncPtr
FontEncReallyReallyLoad(const char *charset,
FontEncReallyReallyLoad(const char *charset,
const char *dirname, const char *dir)
{
FontFilePtr f;
@ -821,14 +817,14 @@ FontEncReallyReallyLoad(const char *charset,
buf[MAXFONTFILENAMELEN];
int count, n;
static char format[24] = "";
/* As we don't really expect to open encodings that often, we don't
take the trouble of caching encodings directories. */
if((file = fopen(dirname, "r")) == NULL) {
return NULL;
}
count = fscanf(file, "%d\n", &n);
if(count == EOF || count != 1) {
fclose(file);
@ -862,7 +858,7 @@ FontEncReallyReallyLoad(const char *charset,
f = FontFileOpen(buf);
if(f == NULL) {
fclose(file);
fclose(file);
return NULL;
}
encoding = parseEncodingFile(f, 0);
@ -876,7 +872,7 @@ FontEncReallyReallyLoad(const char *charset,
return encoding;
}
/* Parser ntrypoint -- used by FontEncLoad */
/* Parser ntrypoint -- used by FontEncLoad */
FontEncPtr
FontEncReallyLoad(const char *charset, const char *fontFileName)
{
@ -890,14 +886,14 @@ FontEncReallyLoad(const char *charset, const char *fontFileName)
if(encoding)
return(encoding);
}
d = FontEncDirectory();
if(d) {
parseFontFileName(d, NULL, dir);
encoding = FontEncReallyReallyLoad(charset, d, dir);
return encoding;
}
return NULL;
}
@ -912,7 +908,7 @@ FontEncIdentify(const char *fileName)
FontEncPtr encoding;
char **names, **name, **alias;
int numaliases;
if((f = FontFileOpen(fileName))==NULL) {
return NULL;
}

View File

@ -23,11 +23,7 @@ THE SOFTWARE.
/* Backend-independent encoding code */
#include <string.h>
#if defined(__SCO__) || defined(__UNIXWARE__)
#include <strings.h>
#endif
#include <stdlib.h>
#define FALSE 0
@ -59,7 +55,7 @@ static FontMapRec iso10646[]=
There's not much more we can do with fonts without a Unicode cmap
unless we are willing to combine cmaps (which we are not). */
static const unsigned short
static const unsigned short
iso8859_1_apple_roman[]=
{ 0xCA, 0xC1, 0xA2, 0xA3, 0xDB, 0xB4, 0x00, 0xA4,
0xAC, 0xA9, 0xBB, 0xC7, 0xC2, 0x00, 0xA8, 0xF8,
@ -212,7 +208,7 @@ static const unsigned short iso8859_5_tophalf[]=
static FontEncSimpleMapRec iso8859_5_to_unicode_map=
{ 0x60, 0, 0xA0, iso8859_5_tophalf };
static const unsigned short
static const unsigned short
iso8859_5_apple_cyrillic[]=
{ 0xCA, 0xDD, 0xAB, 0xAE, 0xB8, 0xC1, 0xA7, 0xBA,
0xB7, 0xBC, 0xBE, 0xCB, 0xCD, 0x00, 0xD8, 0xDA,
@ -253,7 +249,7 @@ iso8859_6_to_unicode(unsigned isocode, void *client_data)
{
if(isocode<=0xA0 || isocode==0xA4 || isocode==0xAD)
return isocode;
else if(isocode==0xAC || isocode==0xBB ||
else if(isocode==0xAC || isocode==0xBB ||
(isocode>=0xBF && isocode<=0xDA) ||
(isocode>=0xE0 && isocode<=0xEF) ||
(isocode>=0xF0 && isocode<=0xF2))
@ -268,7 +264,7 @@ static FontMapRec iso8859_6[]=
{0,0,0,NULL,NULL,NULL,NULL,NULL}
};
static unsigned
static unsigned
iso8859_7_to_unicode(unsigned isocode, void *client_data)
{
if(isocode<=0xA0 ||
@ -305,7 +301,7 @@ iso8859_8_to_unicode(unsigned isocode, void *client_data)
return 0x2017;
else if(isocode>=0xE0 && isocode<=0xFA)
return isocode+0x04F0;
else
else
return 0;
}
@ -410,7 +406,7 @@ static FontMapRec koi8_r[]=
{0,0,0,NULL,NULL,NULL,NULL,NULL}
};
static unsigned
static unsigned
koi8_ru_to_unicode(unsigned koicode, void *client_data)
{
switch(koicode) {
@ -458,7 +454,7 @@ koi8_e_to_unicode(unsigned koicode, void *client_data)
return koicode;
else if(koicode<0xC0)
return koi8_e_A0_BF[koicode-0xA0];
else
else
return FontEncSimpleRecode(koicode, &koi8_r_to_unicode_map);
}
@ -480,7 +476,7 @@ static const unsigned short koi8_uni_80_BF[]=
0x2116, 0x0402, 0x0403, 0x0401, 0x0404, 0x0405, 0x0406, 0x0407,
0x0408, 0x0409, 0x040A, 0x040B, 0x040C, 0x0490, 0x040E, 0x040F };
static unsigned
static unsigned
koi8_uni_to_unicode(unsigned koicode, void *client_data)
{
if(koicode<0x80)
@ -499,7 +495,7 @@ static FontMapRec koi8_uni[]=
/* Ukrainian variant of Koi8-R; see RFC 2319 */
static unsigned
static unsigned
koi8_u_to_unicode(unsigned koicode, void *client_data)
{
switch(koicode) {
@ -526,9 +522,9 @@ static FontMapRec koi8_u[]=
the glyph index before applying the cmap. Lovely design. */
static FontMapRec microsoft_symbol[]=
{{FONT_ENCODING_TRUETYPE,3,0,NULL,NULL,NULL,NULL,NULL},
{{FONT_ENCODING_TRUETYPE,3,0,NULL,NULL,NULL,NULL,NULL},
/* You never know */
{FONT_ENCODING_TRUETYPE,3,1,NULL,NULL,NULL,NULL,NULL},
{FONT_ENCODING_TRUETYPE,3,1,NULL,NULL,NULL,NULL,NULL},
{0,0,0,NULL,NULL,NULL,NULL,NULL}};
static FontMapRec apple_roman[]=
@ -619,15 +615,15 @@ FontEncFromXLFD(const char *name, int length)
if(p == NULL)
return NULL;
len = length - (p - name) - 1;
memcpy(charset, p+1, len);
charset[len] = 0;
/* check for a subset specification */
if((q = strchr(charset, (int)'[')))
*q = 0;
return charset;
}
@ -659,7 +655,7 @@ FontEncName(unsigned code, FontMapPtr mapping)
if(encoding && mapping->name) {
if((encoding->row_size == 0 && code >= encoding->size) ||
(encoding->row_size != 0 &&
(code/0x100 >= encoding->size ||
(code/0x100 >= encoding->size ||
(code&0xFF) >= encoding->row_size)))
return NULL;
return (*mapping->name)(code, mapping->client_data);
@ -672,9 +668,9 @@ FontEncFind(const char *encoding_name, const char *filename)
{
FontEncPtr encoding;
char **alias;
if(font_encodings == NULL) define_initial_encoding_info();
for(encoding = font_encodings; encoding; encoding = encoding->next) {
if(!strcasecmp(encoding->name, encoding_name))
return encoding;
@ -725,14 +721,14 @@ static FontEncPtr
FontEncLoad(const char *encoding_name, const char *filename)
{
FontEncPtr encoding;
encoding = FontEncReallyLoad(encoding_name, filename);
if (encoding == NULL) {
return NULL;
} else {
char **alias;
int found = 0;
/* Check whether the name is already known for this encoding */
if(strcasecmp(encoding->name, encoding_name) == 0) {
found = 1;
@ -745,14 +741,14 @@ FontEncLoad(const char *encoding_name, const char *filename)
}
}
}
if(!found) {
/* Add a new alias. This works because we know that this
particular encoding has been allocated dynamically */
char **new_aliases;
char *new_name;
int numaliases = 0;
new_name = strdup(encoding_name);
if(new_name == NULL)
return NULL;
@ -773,11 +769,11 @@ FontEncLoad(const char *encoding_name, const char *filename)
new_aliases[numaliases+1] = NULL;
encoding->aliases = new_aliases;
}
/* register the new encoding */
encoding->next=font_encodings;
font_encodings=encoding;
return encoding;
}
}
@ -798,7 +794,7 @@ FontEncSimpleRecode(unsigned code, void *client_data)
else
index = code;
if(map->map && index>=map->first && index<map->first+map->len)
if(map->map && index>=map->first && index<map->first+map->len)
return map->map[index-map->first];
else
return code;
@ -865,7 +861,7 @@ tree_set(unsigned int **map, unsigned int i, unsigned int j)
c = i % FONTENC_SEGMENT_SIZE;
if(map[s] == NULL) {
map[s] = calloc(FONTENC_SEGMENT_SIZE, sizeof(int));
map[s] = calloc(FONTENC_SEGMENT_SIZE, sizeof(int));
if(map[s] == NULL)
return FALSE;
}
@ -923,7 +919,7 @@ FontMapReverseFree(FontMapReversePtr delendum)
{
unsigned int **map = (unsigned int**)delendum;
int i;
if(map == NULL)
return;