diff options
author | Matthieu Herrb <matthieu@cvs.openbsd.org> | 2012-03-04 18:25:23 +0000 |
---|---|---|
committer | Matthieu Herrb <matthieu@cvs.openbsd.org> | 2012-03-04 18:25:23 +0000 |
commit | 034c8416b7ce56b0b85c7814d36c9da37f9fcdfb (patch) | |
tree | af956e1e3c3d1ec824c3143daeac341b05bbd58f /lib/libfontenc/src | |
parent | d84b8d038431da3f7ac6a941c65ace556d4a910f (diff) |
Update to libfontenc 1.1.1
Diffstat (limited to 'lib/libfontenc/src')
-rw-r--r-- | lib/libfontenc/src/Makefile.in | 31 | ||||
-rw-r--r-- | lib/libfontenc/src/encparse.c | 40 | ||||
-rw-r--r-- | lib/libfontenc/src/fontenc.c | 56 |
3 files changed, 61 insertions, 66 deletions
diff --git a/lib/libfontenc/src/Makefile.in b/lib/libfontenc/src/Makefile.in index 3c86a5812..87e1787f1 100644 --- a/lib/libfontenc/src/Makefile.in +++ b/lib/libfontenc/src/Makefile.in @@ -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@ diff --git a/lib/libfontenc/src/encparse.c b/lib/libfontenc/src/encparse.c index 5b4cefb1f..cbcac8023 100644 --- a/lib/libfontenc/src/encparse.c +++ b/lib/libfontenc/src/encparse.c @@ -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; } diff --git a/lib/libfontenc/src/fontenc.c b/lib/libfontenc/src/fontenc.c index 86f59520b..fb56ff173 100644 --- a/lib/libfontenc/src/fontenc.c +++ b/lib/libfontenc/src/fontenc.c @@ -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; |