summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Coopersmith <alan.coopersmith@oracle.com>2023-11-04 10:06:36 -0700
committerAlan Coopersmith <alan.coopersmith@oracle.com>2023-11-04 12:59:57 -0700
commit05401f3c4e641c1e67d11187dfb943c7ec1708f4 (patch)
tree0bcdb0de1895225ee003e4a1e2a364ca92453ad5
parenta631117eb3d816e8b3fdb969017fc5d3c7357ba3 (diff)
Convert to X.Org standard code style
Mostly via util/modular/x-indent-all.sh, plus some manual cleanup Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-rw-r--r--constlist.c24
-rw-r--r--hash.c62
-rw-r--r--ident.c270
-rw-r--r--list.c164
-rw-r--r--mkfontscale.c833
5 files changed, 724 insertions, 629 deletions
diff --git a/constlist.c b/constlist.c
index b57fc97..bdff352 100644
--- a/constlist.c
+++ b/constlist.c
@@ -29,13 +29,13 @@ appendConstList(ConstListPtr first, ConstListPtr second)
{
ConstListPtr current;
- if(second == NULL)
+ if (second == NULL)
return first;
- if(first == NULL)
+ if (first == NULL)
return second;
- for(current = first; current->next; current = current->next)
+ for (current = first; current->next; current = current->next)
;
current->next = second;
@@ -48,20 +48,20 @@ makeConstList(const char **a, int n, ConstListPtr old, int begin)
ConstListPtr first, current, next;
int i;
- if(n == 0)
+ if (n == 0)
return old;
first = malloc(sizeof(ConstListRec));
- if(!first)
+ if (!first)
return NULL;
first->value = a[0];
first->next = NULL;
current = first;
- for(i = 1; i < n; i++) {
+ for (i = 1; i < n; i++) {
next = malloc(sizeof(ConstListRec));
- if(!next) {
+ if (!next) {
destroyConstList(first);
return NULL;
}
@@ -71,10 +71,11 @@ makeConstList(const char **a, int n, ConstListPtr old, int begin)
current->next = next;
current = next;
}
- if(begin) {
+ if (begin) {
current->next = old;
return first;
- } else {
+ }
+ else {
return appendConstList(old, first);
}
}
@@ -83,9 +84,10 @@ void
destroyConstList(ConstListPtr old)
{
ConstListPtr next;
- if(!old)
+
+ if (!old)
return;
- while(old) {
+ while (old) {
next = old->next;
free(old);
old = next;
diff --git a/hash.c b/hash.c
index d834222..3a3e67e 100644
--- a/hash.c
+++ b/hash.c
@@ -39,15 +39,16 @@ hash(const char *string)
{
int i;
unsigned u = 0;
- for(i = 0; string[i] != '\0'; i++)
- u = (u<<5) + (u >> (LOG2_NUMBUCKETS - 5)) + (unsigned char)string[i];
+
+ for (i = 0; string[i] != '\0'; i++)
+ u = (u << 5) + (u >> (LOG2_NUMBUCKETS - 5)) + (unsigned char) string[i];
return (u & (NUMBUCKETS - 1));
}
static void
str_tolower(char *s)
{
- while(*s != '\0') {
+ while (*s != '\0') {
*s = tolower(*s);
s++;
}
@@ -65,8 +66,8 @@ destroyHashTable(HashTablePtr table)
int i;
HashBucketPtr bp;
- for(i = 0; i < NUMBUCKETS; i++) {
- while(table[i]) {
+ for (i = 0; i < NUMBUCKETS; i++) {
+ while (table[i]) {
bp = table[i];
table[i] = table[i]->next;
free(bp->key);
@@ -82,8 +83,9 @@ getHash(HashTablePtr table, const char *key)
{
unsigned int i = hash(key);
HashBucketPtr bp;
- for(bp = table[i]; bp; bp = bp->next) {
- if(strcasecmp(bp->key, key) == 0)
+
+ for (bp = table[i]; bp; bp = bp->next) {
+ if (strcasecmp(bp->key, key) == 0)
return bp->value;
}
return NULL;
@@ -95,14 +97,17 @@ putHash(HashTablePtr table, char *key, char *value, int prio)
unsigned int i = hash(key);
char *keycopy = NULL, *valuecopy = NULL;
HashBucketPtr bp;
- for(bp = table[i]; bp; bp = bp->next) {
- if(strcasecmp(bp->key, key) == 0) {
- if(prio > bp->prio) {
+
+ for (bp = table[i]; bp; bp = bp->next) {
+ if (strcasecmp(bp->key, key) == 0) {
+ if (prio > bp->prio) {
keycopy = strdup(key);
- if(keycopy == NULL) goto fail;
+ if (keycopy == NULL)
+ goto fail;
str_tolower(keycopy);
valuecopy = strdup(value);
- if(valuecopy == NULL) goto fail;
+ if (valuecopy == NULL)
+ goto fail;
free(bp->key);
free(bp->value);
bp->key = keycopy;
@@ -112,14 +117,14 @@ putHash(HashTablePtr table, char *key, char *value, int prio)
}
}
keycopy = strdup(key);
- if(keycopy == NULL)
+ if (keycopy == NULL)
goto fail;
str_tolower(keycopy);
valuecopy = strdup(value);
- if(valuecopy == NULL)
+ if (valuecopy == NULL)
goto fail;
bp = malloc(sizeof(HashBucketRec));
- if(bp == NULL)
+ if (bp == NULL)
goto fail;
bp->key = keycopy;
bp->value = valuecopy;
@@ -129,8 +134,10 @@ putHash(HashTablePtr table, char *key, char *value, int prio)
return 1;
fail:
- if(keycopy) free(keycopy);
- if(valuecopy) free(valuecopy);
+ if (keycopy)
+ free(keycopy);
+ if (valuecopy)
+ free(valuecopy);
return -1;
}
@@ -141,8 +148,8 @@ hashElements(HashTablePtr table)
HashBucketPtr bp;
n = 0;
- for(i = 0; i < NUMBUCKETS; i++) {
- for(bp = table[i]; bp; bp = bp->next) {
+ for (i = 0; i < NUMBUCKETS; i++) {
+ for (bp = table[i]; bp; bp = bp->next) {
n++;
}
}
@@ -154,7 +161,9 @@ key_first_cmp(const void *v1, const void *v2)
{
const HashBucketPtr *b1 = v1, *b2 = v2;
int c1 = strcasecmp((*b1)->key, (*b2)->key);
- if(c1 != 0) return c1;
+
+ if (c1 != 0)
+ return c1;
return strcmp((*b1)->value, (*b2)->value);
}
@@ -163,7 +172,9 @@ value_first_cmp(const void *v1, const void *v2)
{
const HashBucketPtr *b1 = v1, *b2 = v2;
int c1 = strcmp((*b1)->value, (*b2)->value);
- if(c1 != 0) return c1;
+
+ if (c1 != 0)
+ return c1;
return strcasecmp((*b1)->key, (*b2)->key);
}
@@ -175,12 +186,12 @@ hashArray(HashTablePtr table, int value_first)
n = hashElements(table);
dst = malloc((n + 1) * sizeof(HashBucketPtr));
- if(dst == NULL)
+ if (dst == NULL)
return NULL;
j = 0;
- for(i = 0; i < NUMBUCKETS; i++) {
- while(table[i]) {
+ for (i = 0; i < NUMBUCKETS; i++) {
+ while (table[i]) {
dst[j++] = table[i];
table[i] = table[i]->next;
}
@@ -197,7 +208,8 @@ void
destroyHashArray(HashBucketPtr *array)
{
int i = 0;
- while(array[i]) {
+
+ while (array[i]) {
free(array[i]->key);
free(array[i]->value);
free(array[i]);
diff --git a/ident.c b/ident.c
index 742e8ae..23aa7b0 100644
--- a/ident.c
+++ b/ident.c
@@ -57,7 +57,7 @@
#include "ident.h"
#ifdef X_BZIP2_FONT_COMPRESSION
-# include <bzlib.h>
+#include <bzlib.h>
#endif
#define PCF_VERSION (('p'<<24)|('c'<<16)|('f'<<8)|1)
@@ -73,25 +73,27 @@ typedef struct _Prop {
typedef struct {
enum { gzFontFile, bz2FontFile } type;
union {
- gzFile gz;
- BZFILE *bz2;
+ gzFile gz;
+ BZFILE *bz2;
} f;
unsigned long pos;
} fontFile;
static inline void *
-fontFileOpen(fontFile *ff, const char *filename) {
+fontFileOpen(fontFile *ff, const char *filename)
+{
size_t n = strlen(filename);
if (n > 4 && strcmp(filename + n - 4, ".bz2") == 0) {
- ff->type = bz2FontFile;
- ff->f.bz2 = BZ2_bzopen(filename, "rb");
- ff->pos = 0;
- return ff->f.bz2;
- } else {
- ff->type = gzFontFile;
- ff->f.gz = gzopen(filename, "rb");
- return ff->f.gz;
+ ff->type = bz2FontFile;
+ ff->f.bz2 = BZ2_bzopen(filename, "rb");
+ ff->pos = 0;
+ return ff->f.bz2;
+ }
+ else {
+ ff->type = gzFontFile;
+ ff->f.gz = gzopen(filename, "rb");
+ return ff->f.gz;
}
}
@@ -99,11 +101,13 @@ static inline int
fontFileRead(fontFile *ff, void *buf, unsigned len)
{
if (ff->type == gzFontFile) {
- return gzread(ff->f.gz, buf, len);
- } else {
- int r = BZ2_bzread(ff->f.bz2, buf, len);
- ff->pos += r;
- return r;
+ return gzread(ff->f.gz, buf, len);
+ }
+ else {
+ int r = BZ2_bzread(ff->f.bz2, buf, len);
+
+ ff->pos += r;
+ return r;
}
}
@@ -111,15 +115,18 @@ static inline int
fontFileGetc(fontFile *ff)
{
if (ff->type == gzFontFile) {
- return gzgetc(ff->f.gz);
- } else {
- char buf;
- if (BZ2_bzread(ff->f.bz2, &buf, 1) != 1) {
- return -1;
- } else {
- ff->pos += 1;
- return (int) buf;
- }
+ return gzgetc(ff->f.gz);
+ }
+ else {
+ char buf;
+
+ if (BZ2_bzread(ff->f.bz2, &buf, 1) != 1) {
+ return -1;
+ }
+ else {
+ ff->pos += 1;
+ return (int) buf;
+ }
}
}
@@ -127,56 +134,58 @@ static long
fontFileSeek(fontFile *ff, z_off_t offset, int whence)
{
if (ff->type == gzFontFile) {
- return gzseek(ff->f.gz, offset, whence);
- } else {
- /* bzlib has no easy equivalent so we have to fake it,
- * fortunately, we only have to handle a couple of cases
- */
- z_off_t n;
- char buf[BUFSIZ];
-
- switch (whence) {
- case SEEK_SET:
- n = offset - ff->pos;
- break;
- case SEEK_CUR:
- n = offset;
- break;
- default:
- return -1;
- }
-
- while (n > BUFSIZ) {
- if (BZ2_bzread(ff->f.bz2, buf, BUFSIZ) != BUFSIZ)
- return -1;
- n -= BUFSIZ;
- }
- if (BZ2_bzread(ff->f.bz2, buf, (int) n) != n)
- return -1;
- ff->pos = offset;
- return offset;
+ return gzseek(ff->f.gz, offset, whence);
}
-}
+ else {
+ /* bzlib has no easy equivalent so we have to fake it,
+ * fortunately, we only have to handle a couple of cases
+ */
+ z_off_t n;
+ char buf[BUFSIZ];
+
+ switch (whence) {
+ case SEEK_SET:
+ n = offset - ff->pos;
+ break;
+ case SEEK_CUR:
+ n = offset;
+ break;
+ default:
+ return -1;
+ }
+ while (n > BUFSIZ) {
+ if (BZ2_bzread(ff->f.bz2, buf, BUFSIZ) != BUFSIZ)
+ return -1;
+ n -= BUFSIZ;
+ }
+ if (BZ2_bzread(ff->f.bz2, buf, (int) n) != n)
+ return -1;
+ ff->pos = offset;
+ return offset;
+ }
+}
static inline int
fontFileClose(fontFile *ff)
{
if (ff->type == gzFontFile) {
- return gzclose(ff->f.gz);
- } else {
- BZ2_bzclose(ff->f.bz2);
- return 0;
+ return gzclose(ff->f.gz);
+ }
+ else {
+ BZ2_bzclose(ff->f.bz2);
+ return 0;
}
}
-#else /* no bzip2, only gzip */
+#else /* no bzip2, only gzip */
typedef gzFile fontFile;
-# define fontFileOpen(ff, filename) (*(ff) = gzopen(filename, "rb"))
-# define fontFileRead(ff, buf, len) gzread(*(ff), buf, len)
-# define fontFileGetc(ff) gzgetc(*(ff))
-# define fontFileSeek(ff, off, whence) gzseek(*(ff), off, whence)
-# define fontFileClose(ff) gzclose(*(ff))
+
+#define fontFileOpen(ff, filename) (*(ff) = gzopen(filename, "rb"))
+#define fontFileRead(ff, buf, len) gzread(*(ff), buf, len)
+#define fontFileGetc(ff) gzgetc(*(ff))
+#define fontFileSeek(ff, off, whence) gzseek(*(ff), off, whence)
+#define fontFileClose(ff) gzclose(*(ff))
#endif
static int pcfIdentify(fontFile *f, char **name);
@@ -189,7 +198,7 @@ getLSB32(fontFile *f)
unsigned char c[4];
rc = fontFileRead(f, c, 4);
- if(rc != 4)
+ if (rc != 4)
return -1;
return (c[0]) | (c[1] << 8) | (c[2] << 16) | (c[3] << 24);
}
@@ -201,7 +210,7 @@ getInt8(fontFile *f, int format)
int rc;
rc = fontFileRead(f, &c, 1);
- if(rc != 1)
+ if (rc != 1)
return -1;
return c;
}
@@ -213,15 +222,16 @@ getInt32(fontFile *f, int format)
unsigned char c[4];
rc = fontFileRead(f, c, 4);
- if(rc != 4)
+ if (rc != 4)
return -1;
- unsigned int u[4] = {c[0], c[1], c[2], c[3]};
+ unsigned int u[4] = { c[0], c[1], c[2], c[3] };
- if(format & (1 << 2)) {
- return (int)((u[0] << 24) | (u[1] << 16) | (u[2] << 8) | (u[3]));
- } else {
- return (int)((u[0]) | (u[1] << 8) | (u[2] << 16) | (u[3] << 24));
+ if (format & (1 << 2)) {
+ return (int) ((u[0] << 24) | (u[1] << 16) | (u[2] << 8) | (u[3]));
+ }
+ else {
+ return (int) ((u[0]) | (u[1] << 8) | (u[2] << 16) | (u[3] << 24));
}
}
@@ -232,12 +242,12 @@ bitmapIdentify(const char *filename, char **name)
int magic;
if (fontFileOpen(&ff, filename) == NULL)
- return -1;
+ return -1;
magic = getLSB32(&ff);
- if(magic == PCF_VERSION)
+ if (magic == PCF_VERSION)
return pcfIdentify(&ff, name);
- else if(magic == ('S' | ('T' << 8) | ('A' << 16) | ('R') << 24))
+ else if (magic == ('S' | ('T' << 8) | ('A' << 16) | ('R') << 24))
return bdfIdentify(&ff, name);
fontFileClose(&ff);
@@ -254,74 +264,74 @@ pcfIdentify(fontFile *f, char **name)
char *strings = NULL, *s;
count = getLSB32(f);
- if(count <= 0)
+ if (count <= 0)
goto fail;
prop_position = -1;
- for(i = 0; i < count; i++) {
+ for (i = 0; i < count; i++) {
int type, offset;
+
type = getLSB32(f);
(void) getLSB32(f);
(void) getLSB32(f);
offset = getLSB32(f);
- if(type == PCF_PROPERTIES) {
+ if (type == PCF_PROPERTIES) {
prop_position = offset;
break;
}
}
- if(prop_position < 0)
+ if (prop_position < 0)
goto fail;
rc = fontFileSeek(f, prop_position, SEEK_SET);
- if(rc < 0)
+ if (rc < 0)
goto fail;
format = getLSB32(f);
- if((format & 0xFFFFFF00) != 0)
+ if ((format & 0xFFFFFF00) != 0)
goto fail;
nprops = getInt32(f, format);
- if(nprops <= 0 || nprops > 1000)
+ if (nprops <= 0 || nprops > 1000)
goto fail;
props = malloc(nprops * sizeof(PropRec));
- if(props == NULL)
+ if (props == NULL)
goto fail;
- for(i = 0; i < nprops; i++) {
+ for (i = 0; i < nprops; i++) {
props[i].name = getInt32(f, format);
props[i].isString = getInt8(f, format);
props[i].value = getInt32(f, format);
}
- if(nprops & 3) {
- rc = fontFileSeek(f, 4 - (nprops & 3), SEEK_CUR);
- if(rc < 0)
+ if (nprops & 3) {
+ rc = fontFileSeek(f, 4 - (nprops & 3), SEEK_CUR);
+ if (rc < 0)
goto fail;
}
string_size = getInt32(f, format);
- if(string_size < 0 || string_size > 100000)
+ if (string_size < 0 || string_size > 100000)
goto fail;
strings = malloc(string_size);
- if(!strings)
+ if (!strings)
goto fail;
rc = fontFileRead(f, strings, string_size);
- if(rc != string_size)
+ if (rc != string_size)
goto fail;
- for(i = 0; i < nprops; i++) {
- if(!props[i].isString ||
- props[i].name >= string_size - 4 ||
- props[i].value >= string_size)
+ for (i = 0; i < nprops; i++) {
+ if (!props[i].isString ||
+ props[i].name >= string_size - 4 || props[i].value >= string_size)
continue;
- if(strcmp(strings + props[i].name, "FONT") == 0)
+ if (strcmp(strings + props[i].name, "FONT") == 0)
break;
}
- if(i >= nprops)
+ if (i >= nprops)
goto fail;
s = strdup(strings + props[i].value);
- if(s == NULL)
+ if (s == NULL)
goto fail;
*name = s;
free(strings);
@@ -330,31 +340,34 @@ pcfIdentify(fontFile *f, char **name)
return 1;
fail:
- if(strings) free(strings);
- if(props) free(props);
+ if (strings)
+ free(strings);
+ if (props)
+ free(props);
fontFileClose(f);
return 0;
}
#define NKEY 20
-static char*
+static char *
getKeyword(fontFile *f, int *eol)
{
static char keyword[NKEY + 1];
int c, i;
+
i = 0;
- while(i < NKEY) {
+ while (i < NKEY) {
c = fontFileGetc(f);
- if(c == ' ' || c == '\n') {
- if(i <= 0)
+ if (c == ' ' || c == '\n') {
+ if (i <= 0)
return NULL;
- if(eol)
+ if (eol)
*eol = (c == '\n');
keyword[i] = '\0';
return keyword;
}
- if(c < 'A' || c > 'Z')
+ if (c < 'A' || c > 'Z')
return NULL;
keyword[i++] = c;
}
@@ -365,10 +378,11 @@ static int
bdfskip(fontFile *f)
{
int c;
+
do {
c = fontFileGetc(f);
- } while(c >= 0 && c != '\n');
- if(c < 0)
+ } while (c >= 0 && c != '\n');
+ if (c < 0)
return -1;
return 1;
}
@@ -385,24 +399,26 @@ bdfend(fontFile *f)
c = fontFileGetc(f);
} while (c == ' ');
- while(i < 1000) {
- if(c < 0 || (c == '\n' && i == 0)) {
+ while (i < 1000) {
+ if (c < 0 || (c == '\n' && i == 0)) {
goto fail;
}
- if(bufsize < i + 1) {
+ if (bufsize < i + 1) {
char *newbuf;
- if(bufsize == 0) {
+
+ if (bufsize == 0) {
bufsize = 20;
newbuf = malloc(bufsize);
- } else {
+ }
+ else {
bufsize = 2 * bufsize;
newbuf = realloc(buf, bufsize);
}
- if(newbuf == NULL)
+ if (newbuf == NULL)
goto fail;
buf = newbuf;
}
- if(c == '\n') {
+ if (c == '\n') {
buf[i] = '\0';
return buf;
}
@@ -411,7 +427,7 @@ bdfend(fontFile *f)
}
fail:
- if(buf)
+ if (buf)
free(buf);
return NULL;
}
@@ -422,32 +438,34 @@ bdfIdentify(fontFile *f, char **name)
char *k;
int rc;
int eol;
+
/* bitmapIdentify already read "STAR", so we need to check for
"TFONT" */
k = getKeyword(f, &eol);
- if(k == NULL || eol)
+ if (k == NULL || eol)
goto fail;
- if(strcmp(k, "TFONT") != 0)
+ if (strcmp(k, "TFONT") != 0)
goto fail;
- while(1) {
- if(!eol) {
+ while (1) {
+ if (!eol) {
rc = bdfskip(f);
- if(rc < 0)
+ if (rc < 0)
goto fail;
}
k = getKeyword(f, &eol);
- if(k == NULL)
+ if (k == NULL)
goto fail;
- else if(strcmp(k, "FONT") == 0) {
- if(eol)
+ else if (strcmp(k, "FONT") == 0) {
+ if (eol)
goto fail;
k = bdfend(f);
- if(k == NULL)
+ if (k == NULL)
goto fail;
*name = k;
fontFileClose(f);
return 1;
- } else if(strcmp(k, "CHARS") == 0)
+ }
+ else if (strcmp(k, "CHARS") == 0)
goto fail;
}
fail:
diff --git a/list.c b/list.c
index 091d9c5..b3aca90 100644
--- a/list.c
+++ b/list.c
@@ -31,8 +31,8 @@
int
listMember(const char *elt, ListPtr list)
{
- while(list != NULL) {
- if(strcmp(elt, list->value) == 0)
+ while (list != NULL) {
+ if (strcmp(elt, list->value) == 0)
return 1;
list = list->next;
}
@@ -43,17 +43,18 @@ ListPtr
listCons(char *car, ListPtr cdr)
{
ListPtr lcar = malloc(sizeof(ListRec));
- if(!lcar)
+
+ if (!lcar)
return NULL;
- lcar -> value = car;
- lcar -> next = cdr;
+ lcar->value = car;
+ lcar->next = cdr;
return lcar;
}
ListPtr
listAdjoin(char *car, ListPtr cdr)
{
- if(listMember(car, cdr)) {
+ if (listMember(car, cdr)) {
free(car);
return cdr;
}
@@ -65,6 +66,7 @@ dsprintf(const char *f, ...)
{
va_list args;
char *string;
+
#ifdef HAVE_VASPRINTF
va_start(args, f);
if (vasprintf(&string, f, args) == -1)
@@ -73,53 +75,55 @@ dsprintf(const char *f, ...)
return string;
#else
{
- int n, size = 20;
- while(1) {
- if(size > 4096)
- return NULL;
- string = malloc(size);
- if(!string)
- return NULL;
- va_start(args, f);
- n = vsnprintf(string, size, f, args);
- va_end(args);
- if(n >= 0 && n < size)
+ int n, size = 20;
+
+ while (1) {
+ if (size > 4096)
+ return NULL;
+ string = malloc(size);
+ if (!string)
+ return NULL;
+ va_start(args, f);
+ n = vsnprintf(string, size, f, args);
+ va_end(args);
+ if (n >= 0 && n < size)
return string;
- else if(n >= size)
- size = n + 1;
- else
- size = size * 3 / 2 + 1;
- free(string);
- }
+ else if (n >= size)
+ size = n + 1;
+ else
+ size = size * 3 / 2 + 1;
+ free(string);
+ }
}
#endif
}
-
ListPtr
listConsF(ListPtr cdr, const char *f, ...)
{
va_list args;
char *string;
+
{
- int n, size = 20;
- while(1) {
- if(size > 4096)
- return NULL;
- string = malloc(size);
- if(!string)
- return NULL;
- va_start(args, f);
- n = vsnprintf(string, size, f, args);
- va_end(args);
- if(n >= 0 && n < size)
- return listCons(string, cdr);
- else if(n >= size)
- size = n + 1;
- else
- size = size * 3 / 2 + 1;
- free(string);
- }
+ int n, size = 20;
+
+ while (1) {
+ if (size > 4096)
+ return NULL;
+ string = malloc(size);
+ if (!string)
+ return NULL;
+ va_start(args, f);
+ n = vsnprintf(string, size, f, args);
+ va_end(args);
+ if (n >= 0 && n < size)
+ return listCons(string, cdr);
+ else if (n >= size)
+ size = n + 1;
+ else
+ size = size * 3 / 2 + 1;
+ free(string);
+ }
}
}
@@ -128,25 +132,27 @@ listAdjoinF(ListPtr cdr, const char *f, ...)
{
va_list args;
char *string;
+
{
- int n, size = 20;
- while(1) {
- if(size > 4096)
- return NULL;
- string = malloc(size);
- if(!string)
- return NULL;
- va_start(args, f);
- n = vsnprintf(string, size, f, args);
- va_end(args);
- if(n >= 0 && n < size)
- return listAdjoin(string, cdr);
- else if(n >= size)
- size = n + 1;
- else
- size = size * 3 / 2 + 1;
- free(string);
- }
+ int n, size = 20;
+
+ while (1) {
+ if (size > 4096)
+ return NULL;
+ string = malloc(size);
+ if (!string)
+ return NULL;
+ va_start(args, f);
+ n = vsnprintf(string, size, f, args);
+ va_end(args);
+ if (n >= 0 && n < size)
+ return listAdjoin(string, cdr);
+ else if (n >= size)
+ size = n + 1;
+ else
+ size = size * 3 / 2 + 1;
+ free(string);
+ }
}
}
@@ -154,7 +160,8 @@ int
listLength(ListPtr list)
{
int n = 0;
- while(list) {
+
+ while (list) {
n++;
list = list->next;
}
@@ -166,14 +173,13 @@ appendList(ListPtr first, ListPtr second)
{
ListPtr current;
- if(second == NULL)
+ if (second == NULL)
return first;
- if(first == NULL)
+ if (first == NULL)
return second;
- for(current = first; current->next; current = current->next)
- ;
+ for (current = first; current->next; current = current->next);
current->next = second;
return first;
@@ -185,20 +191,20 @@ makeList(char **a, int n, ListPtr old, int begin)
ListPtr first, current, next;
int i;
- if(n == 0)
+ if (n == 0)
return old;
first = malloc(sizeof(ListRec));
- if(!first)
+ if (!first)
return NULL;
first->value = a[0];
first->next = NULL;
current = first;
- for(i = 1; i < n; i++) {
+ for (i = 1; i < n; i++) {
next = malloc(sizeof(ListRec));
- if(!next) {
+ if (!next) {
destroyList(first);
return NULL;
}
@@ -208,10 +214,11 @@ makeList(char **a, int n, ListPtr old, int begin)
current->next = next;
current = next;
}
- if(begin) {
+ if (begin) {
current->next = old;
return first;
- } else {
+ }
+ else {
return appendList(old, first);
}
}
@@ -220,7 +227,8 @@ ListPtr
reverseList(ListPtr old)
{
ListPtr new = NULL, current;
- while(old) {
+
+ while (old) {
current = old;
old = old->next;
current->next = new;
@@ -261,7 +269,7 @@ sortList(ListPtr old)
qsort(sorted, i, sizeof(ListPtr), compareListEntries);
n = sorted[0];
for (i = 0; i < (l - 1); i++) {
- sorted[i]->next = sorted[i+1];
+ sorted[i]->next = sorted[i + 1];
}
sorted[i]->next = NULL;
free(sorted);
@@ -272,9 +280,10 @@ void
destroyList(ListPtr old)
{
ListPtr next;
- if(!old)
+
+ if (!old)
return;
- while(old) {
+ while (old) {
next = old->next;
free(old);
old = next;
@@ -285,9 +294,10 @@ void
deepDestroyList(ListPtr old)
{
ListPtr next;
- if(!old)
+
+ if (!old)
return;
- while(old) {
+ while (old) {
next = old->next;
free(old->value);
free(old);
diff --git a/mkfontscale.c b/mkfontscale.c
index 356417f..d692e3c 100644
--- a/mkfontscale.c
+++ b/mkfontscale.c
@@ -68,24 +68,24 @@
#define QUOTE(x) #x
#define STRINGIFY(x) QUOTE(x)
-static const char *encodings_array[] =
- { "ascii-0",
- "iso8859-1", "iso8859-2", "iso8859-3", "iso8859-4", "iso8859-5",
- "iso8859-6", "iso8859-6.8", "iso8859-6.8x", "iso8859-6.16",
- "iso8859-7", "iso8859-8", "iso8859-9", "iso8859-10",
- "iso8859-11", "iso8859-12", "iso8859-13", "iso8859-14",
- "iso8859-15", "iso8859-16",
- "ansi-1251", "koi8-r", "koi8-u", "koi8-ru", "koi8-e", "koi8-uni",
- "tis620-2",
- "sun.unicode.india-0", "suneu-greek",
- "adobe-standard", "adobe-symbol",
- "ibm-cp437", "ibm-cp850", "ibm-cp852", "ibm-cp866", "microsoft-cp1252",
- /* But not "adobe-dingbats", as it uses generic glyph names. */
- "cns11643-1", "cns11643-2", "cns11643-3",
- "jisx0201.1976-0", "jisx0208.1983-0", "jisx0208.1990-0",
- "jisx0212.1990-0", "big5-0", "big5.eten-0", "big5hkscs-0",
- "gb2312.1980-0", "gb18030.2000-0", "gb18030.2000-1",
- "ksc5601.1987-0", "ksc5601.1992-3"};
+static const char *encodings_array[] = { "ascii-0",
+ "iso8859-1", "iso8859-2", "iso8859-3", "iso8859-4", "iso8859-5",
+ "iso8859-6", "iso8859-6.8", "iso8859-6.8x", "iso8859-6.16",
+ "iso8859-7", "iso8859-8", "iso8859-9", "iso8859-10",
+ "iso8859-11", "iso8859-12", "iso8859-13", "iso8859-14",
+ "iso8859-15", "iso8859-16",
+ "ansi-1251", "koi8-r", "koi8-u", "koi8-ru", "koi8-e", "koi8-uni",
+ "tis620-2",
+ "sun.unicode.india-0", "suneu-greek",
+ "adobe-standard", "adobe-symbol",
+ "ibm-cp437", "ibm-cp850", "ibm-cp852", "ibm-cp866", "microsoft-cp1252",
+ /* But not "adobe-dingbats", as it uses generic glyph names. */
+ "cns11643-1", "cns11643-2", "cns11643-3",
+ "jisx0201.1976-0", "jisx0208.1983-0", "jisx0208.1990-0",
+ "jisx0212.1990-0", "big5-0", "big5.eten-0", "big5hkscs-0",
+ "gb2312.1980-0", "gb18030.2000-0", "gb18030.2000-1",
+ "ksc5601.1987-0", "ksc5601.1992-3"
+};
static const char *extra_encodings_array[] =
{ "iso10646-1", "adobe-fontspecific", "microsoft-symbol" };
@@ -95,12 +95,13 @@ static const char *outfilename;
#define countof(_a) (sizeof(_a)/sizeof((_a)[0]))
-static int doDirectory(const char*, int, ListPtr);
+static int doDirectory(const char *, int, ListPtr);
static int checkEncoding(FT_Face face, const char *encoding_name);
-static int checkExtraEncoding(FT_Face face, const char *encoding_name, int found);
+static int checkExtraEncoding(FT_Face face, const char *encoding_name,
+ int found);
static int find_cmap(int type, int pid, int eid, FT_Face face);
-static const char* notice_foundry(const char *notice);
-static const char* vendor_foundry(const signed char *vendor);
+static const char *notice_foundry(const char *notice);
+static const char *vendor_foundry(const signed char *vendor);
static int readFontScale(HashTablePtr entries, char *dirname);
ListPtr makeXLFD(char *filename, FT_Face face, int);
static int readEncodings(ListPtr encodings, char *dirname);
@@ -131,7 +132,7 @@ usage(void)
}
static void _X_NORETURN _X_COLD
-missing_arg (const char *option)
+missing_arg(const char *option)
{
fprintf(stderr, "%s: %s requires an argument\n", ProgramName, option);
usage();
@@ -149,22 +150,22 @@ main(int argc, char **argv)
encodingPrefix = NULL;
exclusionSuffix = NULL;
- if(getcwd(prefix, NPREFIX - 1) == NULL) {
+ if (getcwd(prefix, NPREFIX - 1) == NULL) {
perror("Couldn't get cwd");
exit(1);
}
- if(prefix[strlen(prefix) - 1] != '/')
+ if (prefix[strlen(prefix) - 1] != '/')
encodingPrefix = dsprintf("%s/", prefix);
else
encodingPrefix = strdup(prefix);
outfilename = NULL;
- encodings = makeConstList(encodings_array, countof(encodings_array), NULL, 0);
+ encodings =
+ makeConstList(encodings_array, countof(encodings_array), NULL, 0);
extra_encodings = makeConstList(extra_encodings_array,
- countof(extra_encodings_array),
- NULL, 0);
+ countof(extra_encodings_array), NULL, 0);
doBitmaps = 0;
doISO10646_1_encoding = 1;
doScalable = 1;
@@ -174,29 +175,32 @@ main(int argc, char **argv)
encodingsToDo = NULL;
argn = 1;
- while(argn < argc) {
- if(argv[argn][0] == '\0' || argv[argn][0] != '-')
+ while (argn < argc) {
+ if (argv[argn][0] == '\0' || argv[argn][0] != '-')
break;
- if(argv[argn][1] == '-') {
+ if (argv[argn][1] == '-') {
argn++;
break;
- } else if (strcmp(argv[argn], "-x") == 0) {
- if(argn >= argc - 1) {
+ }
+ else if (strcmp(argv[argn], "-x") == 0) {
+ if (argn >= argc - 1) {
missing_arg("-x");
}
exclusionSuffix = argv[argn + 1];
argn += 2;
- } else if(strcmp(argv[argn], "-a") == 0) {
- if(argn >= argc - 1) {
+ }
+ else if (strcmp(argv[argn], "-a") == 0) {
+ if (argn >= argc - 1) {
missing_arg("-a");
}
- makeConstList((const char **)&argv[argn + 1], 1, encodings, 0);
+ makeConstList((const char **) &argv[argn + 1], 1, encodings, 0);
argn += 2;
- } else if(strcmp(argv[argn], "-p") == 0) {
- if(argn >= argc - 1) {
+ }
+ else if (strcmp(argv[argn], "-p") == 0) {
+ if (argn >= argc - 1) {
missing_arg("-p");
}
- if(strlen(argv[argn + 1]) > NPREFIX - 1) {
+ if (strlen(argv[argn + 1]) > NPREFIX - 1) {
fprintf(stderr, "%s: argument to -p cannot be longer than "
"%d characters\n", ProgramName, NPREFIX - 1);
usage();
@@ -204,64 +208,76 @@ main(int argc, char **argv)
free(encodingPrefix);
encodingPrefix = strdup(argv[argn + 1]);
argn += 2;
- } else if(strcmp(argv[argn], "-e") == 0) {
- if(argn >= argc - 1) {
+ }
+ else if (strcmp(argv[argn], "-e") == 0) {
+ if (argn >= argc - 1) {
missing_arg("-e");
}
rc = readEncodings(encodingsToDo, argv[argn + 1]);
- if(rc < 0)
+ if (rc < 0)
exit(1);
argn += 2;
- } else if(strcmp(argv[argn], "-b") == 0) {
+ }
+ else if (strcmp(argv[argn], "-b") == 0) {
doBitmaps = 1;
argn++;
- } else if(strcmp(argv[argn], "-u") == 0) {
+ }
+ else if (strcmp(argv[argn], "-u") == 0) {
doISO10646_1_encoding = 0;
argn++;
- } else if(strcmp(argv[argn], "-U") == 0) {
+ }
+ else if (strcmp(argv[argn], "-U") == 0) {
doISO10646_1_encoding = 1;
argn++;
- } else if(strcmp(argv[argn], "-s") == 0) {
+ }
+ else if (strcmp(argv[argn], "-s") == 0) {
doScalable = 0;
argn++;
- } else if(strcmp(argv[argn], "-n") == 0) {
+ }
+ else if (strcmp(argv[argn], "-n") == 0) {
onlyEncodings = 1;
argn++;
- } else if(strcmp(argv[argn], "-r") == 0) {
+ }
+ else if (strcmp(argv[argn], "-r") == 0) {
relative = 1;
argn++;
- } else if(strcmp(argv[argn], "-l") == 0) {
+ }
+ else if (strcmp(argv[argn], "-l") == 0) {
reencodeLegacy = !reencodeLegacy;
argn++;
- } else if(strcmp(argv[argn], "-o") == 0) {
- if(argn >= argc - 1) {
+ }
+ else if (strcmp(argv[argn], "-o") == 0) {
+ if (argn >= argc - 1) {
missing_arg("-o");
}
outfilename = argv[argn + 1];
argn += 2;
- } else if(strcmp(argv[argn], "-f") == 0) {
- if(argn >= argc - 1) {
+ }
+ else if (strcmp(argv[argn], "-f") == 0) {
+ if (argn >= argc - 1) {
missing_arg("-f");
}
bigEncodingFuzz = atof(argv[argn + 1]) / 100.0;
argn += 2;
- } else if (strcmp(argv[argn], "-v") == 0) {
- printf("%s\n", PACKAGE_STRING);
- exit(0);
- } else {
+ }
+ else if (strcmp(argv[argn], "-v") == 0) {
+ printf("%s\n", PACKAGE_STRING);
+ exit(0);
+ }
+ else {
usage();
}
}
- if(outfilename == NULL) {
- if(doBitmaps)
+ if (outfilename == NULL) {
+ if (doBitmaps)
outfilename = "fonts.dir";
else
outfilename = "fonts.scale";
}
ftrc = FT_Init_FreeType(&ft_library);
- if(ftrc) {
+ if (ftrc) {
fprintf(stderr, "Could not initialise FreeType library: %d\n", ftrc);
exit(1);
}
@@ -271,7 +287,7 @@ main(int argc, char **argv)
if (argn == argc)
doDirectory(".", ll, encodingsToDo);
else
- while(argn < argc) {
+ while (argn < argc) {
doDirectory(argv[argn], ll, encodingsToDo);
argn++;
}
@@ -286,30 +302,29 @@ getNameHelper(FT_Face face, int nid, int pid, int eid,
int n, i;
n = FT_Get_Sfnt_Name_Count(face);
- if(n <= 0)
+ if (n <= 0)
return 0;
- for(i = 0; i < n; i++) {
- if(FT_Get_Sfnt_Name(face, i, &name))
+ for (i = 0; i < n; i++) {
+ if (FT_Get_Sfnt_Name(face, i, &name))
continue;
- if(name.name_id == nid &&
- name.platform_id == pid &&
- (eid < 0 || name.encoding_id == eid)) {
- switch(name.platform_id) {
+ if (name.name_id == nid &&
+ name.platform_id == pid && (eid < 0 || name.encoding_id == eid)) {
+ switch (name.platform_id) {
case TT_PLATFORM_APPLE_UNICODE:
case TT_PLATFORM_MACINTOSH:
- if(name.language_id != TT_MAC_LANGID_ENGLISH)
+ if (name.language_id != TT_MAC_LANGID_ENGLISH)
continue;
break;
case TT_PLATFORM_MICROSOFT:
- if(name.language_id != TT_MS_LANGID_ENGLISH_UNITED_STATES &&
- name.language_id != TT_MS_LANGID_ENGLISH_UNITED_KINGDOM)
+ if (name.language_id != TT_MS_LANGID_ENGLISH_UNITED_STATES &&
+ name.language_id != TT_MS_LANGID_ENGLISH_UNITED_KINGDOM)
continue;
break;
default:
continue;
}
- if(name.string_len > 0) {
+ if (name.string_len > 0) {
*name_return = name;
return 1;
}
@@ -325,17 +340,16 @@ getName(FT_Face face, int nid)
char *string;
unsigned int i;
- if(getNameHelper(face, nid,
- TT_PLATFORM_MICROSOFT, TT_MS_ID_UNICODE_CS, &name) ||
- getNameHelper(face, nid,
- TT_PLATFORM_APPLE_UNICODE, -1, &name)) {
+ if (getNameHelper(face, nid,
+ TT_PLATFORM_MICROSOFT, TT_MS_ID_UNICODE_CS, &name) ||
+ getNameHelper(face, nid, TT_PLATFORM_APPLE_UNICODE, -1, &name)) {
string = malloc(name.string_len / 2 + 1);
- if(string == NULL) {
+ if (string == NULL) {
fprintf(stderr, "Couldn't allocate name\n");
exit(1);
}
- for(i = 0; i < name.string_len / 2; i++) {
- if(name.string[2 * i] != 0)
+ for (i = 0; i < name.string_len / 2; i++) {
+ if (name.string[2 * i] != 0)
string[i] = '?';
else
string[i] = name.string[2 * i + 1];
@@ -345,10 +359,9 @@ getName(FT_Face face, int nid)
}
/* Pretend that Apple Roman is ISO 8859-1. */
- if(getNameHelper(face, nid, TT_PLATFORM_MACINTOSH, TT_MAC_ID_ROMAN,
- &name)) {
+ if (getNameHelper(face, nid, TT_PLATFORM_MACINTOSH, TT_MAC_ID_ROMAN, &name)) {
string = malloc(name.string_len + 1);
- if(string == NULL) {
+ if (string == NULL) {
fprintf(stderr, "Couldn't allocate name\n");
exit(1);
}
@@ -360,47 +373,47 @@ getName(FT_Face face, int nid)
return NULL;
}
-static const char*
+static const char *
os2Weight(int weight)
{
- if(weight < 150)
+ if (weight < 150)
return "thin";
- else if(weight < 250)
+ else if (weight < 250)
return "extralight";
- else if(weight < 350)
+ else if (weight < 350)
return "light";
- else if(weight < 450)
+ else if (weight < 450)
return "medium"; /* officially "normal" */
- else if(weight < 550)
+ else if (weight < 550)
return "medium";
- else if(weight < 650)
+ else if (weight < 650)
return "semibold";
- else if(weight < 750)
+ else if (weight < 750)
return "bold";
- else if(weight < 850)
+ else if (weight < 850)
return "extrabold";
else
return "black";
}
-static const char*
+static const char *
os2Width(int width)
{
- if(width <= 1)
+ if (width <= 1)
return "ultracondensed";
- else if(width <= 2)
+ else if (width <= 2)
return "extracondensed";
- else if(width <= 3)
+ else if (width <= 3)
return "condensed";
- else if(width <= 4)
+ else if (width <= 4)
return "semicondensed";
- else if(width <= 5)
+ else if (width <= 5)
return "normal";
- else if(width <= 6)
+ else if (width <= 6)
return "semiexpanded";
- else if(width <= 7)
+ else if (width <= 7)
return "expanded";
- else if(width <= 8)
+ else if (width <= 8)
return "extraexpanded";
else
return "ultraexpanded";
@@ -413,60 +426,61 @@ static const char *widths[] = {
#define NUMWIDTHS (sizeof(widths) / sizeof(widths[0]))
-static const char*
+static const char *
nameWidth(const char *name)
{
char buf[500];
unsigned int i;
size_t n = strlen(name);
- if(n >= 499) return NULL;
- for(i = 0; i < n; i++)
+ if (n >= 499)
+ return NULL;
+ for (i = 0; i < n; i++)
buf[i] = tolower(name[i]);
buf[i] = '\0';
- for(i = 0; i < NUMWIDTHS; i++)
- if(strstr(buf, widths[i]))
+ for (i = 0; i < NUMWIDTHS; i++)
+ if (strstr(buf, widths[i]))
return widths[i];
return NULL;
}
-static const char*
+static const char *
t1Weight(const char *weight)
{
- if(!weight)
+ if (!weight)
return NULL;
- if(strcasecmp(weight, "Thin") == 0)
+ if (strcasecmp(weight, "Thin") == 0)
return "thin";
- if(strcasecmp(weight, "ExtraLight") == 0) /* FontForge uses this for 200*/
+ if (strcasecmp(weight, "ExtraLight") == 0) /* FontForge uses this for 200 */
return "extralight";
- if(strcasecmp(weight, "Light") == 0)
+ if (strcasecmp(weight, "Light") == 0)
return "light";
- if(strcasecmp(weight, "Regular") == 0)
+ if (strcasecmp(weight, "Regular") == 0)
return "medium";
- if(strcasecmp(weight, "Normal") == 0)
+ if (strcasecmp(weight, "Normal") == 0)
return "medium";
- if(strcasecmp(weight, "Plain") == 0)
+ if (strcasecmp(weight, "Plain") == 0)
return "medium";
- if(strcasecmp(weight, "Medium") == 0)
+ if (strcasecmp(weight, "Medium") == 0)
return "medium";
- if(strcasecmp(weight, "Book") == 0)
+ if (strcasecmp(weight, "Book") == 0)
return "medium";
- if(strcasecmp(weight, "Roman") == 0) /* Some URW++ fonts do that! */
+ if (strcasecmp(weight, "Roman") == 0) /* Some URW++ fonts do that! */
return "medium";
- if(strcasecmp(weight, "Demi") == 0)
+ if (strcasecmp(weight, "Demi") == 0)
return "semibold";
- if(strcasecmp(weight, "DemiBold") == 0)
+ if (strcasecmp(weight, "DemiBold") == 0)
return "semibold";
- if(strcasecmp(weight, "SemiBold") == 0) /* some TeX fonts apparently do that */
+ if (strcasecmp(weight, "SemiBold") == 0) /* some TeX fonts apparently do that */
return "semibold";
- else if(strcasecmp(weight, "Bold") == 0)
+ else if (strcasecmp(weight, "Bold") == 0)
return "bold";
- else if(strcasecmp(weight, "ExtraBold") == 0) /* freefonts uses this */
+ else if (strcasecmp(weight, "ExtraBold") == 0) /* freefonts uses this */
return "extrabold";
- else if(strcasecmp(weight, "Heavy") == 0) /* FontForge uses this for 800*/
+ else if (strcasecmp(weight, "Heavy") == 0) /* FontForge uses this for 800 */
return "extrabold";
- else if(strcasecmp(weight, "Black") == 0)
+ else if (strcasecmp(weight, "Black") == 0)
return "black";
else {
fprintf(stderr, "Unknown Type 1 weight \"%s\"\n", weight);
@@ -483,29 +497,30 @@ unsafe(char c)
}
static const char *
-safe(const char* s)
+safe(const char *s)
{
int i, len, safe_flag = 1;
char *t;
i = 0;
- while(s[i] != '\0') {
- if(unsafe(s[i]))
+ while (s[i] != '\0') {
+ if (unsafe(s[i]))
safe_flag = 0;
i++;
}
- if(safe_flag) return strdup(s);
+ if (safe_flag)
+ return strdup(s);
len = i;
t = malloc(len + 1);
- if(t == NULL) {
+ if (t == NULL) {
perror("Couldn't allocate string");
exit(1);
}
- for(i = 0; i < len; i++) {
- if(unsafe(s[i]))
+ for (i = 0; i < len; i++) {
+ if (unsafe(s[i]))
t[i] = ' ';
else
t[i] = s[i];
@@ -542,66 +557,68 @@ makeXLFD(char *filename, FT_Face face, int isBitmap)
post = FT_Get_Sfnt_Table(face, ft_sfnt_post);
rc = FT_Get_PS_Font_Info(face, &t1info_rec);
- if(rc == 0)
+ if (rc == 0)
t1info = &t1info_rec;
else
t1info = NULL;
- if(!family)
+ if (!family)
family = getName(face, TT_NAME_ID_FONT_FAMILY);
- if(!family)
+ if (!family)
family = getName(face, TT_NAME_ID_FULL_NAME);
- if(!family)
+ if (!family)
family = getName(face, TT_NAME_ID_PS_NAME);
- if(!full_name)
+ if (!full_name)
full_name = getName(face, TT_NAME_ID_FULL_NAME);
- if(!full_name)
+ if (!full_name)
full_name = getName(face, TT_NAME_ID_PS_NAME);
- if(os2 && os2->version != 0xFFFF) {
- if(!weight)
+ if (os2 && os2->version != 0xFFFF) {
+ if (!weight)
weight = os2Weight(os2->usWeightClass);
- if(!sWidth)
+ if (!sWidth)
sWidth = os2Width(os2->usWidthClass);
- if(!foundry)
+ if (!foundry)
foundry = vendor_foundry(os2->achVendID);
- if(!slant)
+ if (!slant)
slant = os2->fsSelection & 1 ? "i" : "r";
}
- if(post) {
- if(!spacing) {
- if(post->isFixedPitch) {
- if(hhea->min_Left_Side_Bearing >= 0 &&
- hhea->xMax_Extent <= hhea->advance_Width_Max) {
+ if (post) {
+ if (!spacing) {
+ if (post->isFixedPitch) {
+ if (hhea->min_Left_Side_Bearing >= 0 &&
+ hhea->xMax_Extent <= hhea->advance_Width_Max) {
spacing = "c";
- } else {
+ }
+ else {
spacing = "m";
}
- } else {
+ }
+ else {
spacing = "p";
}
}
}
- if(t1info) {
- if(!family && t1info->family_name)
+ if (t1info) {
+ if (!family && t1info->family_name)
family = strdup(t1info->family_name);
- if(!family && t1info->full_name)
+ if (!family && t1info->full_name)
family = strdup(t1info->full_name);
/* Hershey fonts miss /FamilyName */
- if(!family && face->family_name)
+ if (!family && face->family_name)
family = strdup(face->family_name);
- if(!full_name && t1info->full_name)
+ if (!full_name && t1info->full_name)
full_name = strdup(t1info->full_name);
- if(!foundry)
+ if (!foundry)
foundry = notice_foundry(t1info->notice);
- if(!weight)
+ if (!weight)
weight = t1Weight(t1info->weight);
- if(!spacing)
+ if (!spacing)
spacing = t1info->is_fixed_pitch ? "m" : "p";
- if(!slant) {
+ if (!slant) {
/* Bitstream fonts have positive italic angle. */
slant =
t1info->italic_angle <= -4 || t1info->italic_angle >= 4 ?
@@ -609,97 +626,105 @@ makeXLFD(char *filename, FT_Face face, int isBitmap)
}
}
- if(!full_name) {
+ if (!full_name) {
fprintf(stderr, "Couldn't determine full name for %s\n", filename);
full_name = strdup(filename);
}
- if(head) {
- if(!slant)
+ if (head) {
+ if (!slant)
slant = head->Mac_Style & 2 ? "i" : "r";
- if(!weight)
+ if (!weight)
weight = head->Mac_Style & 1 ? "bold" : "medium";
}
- if(!slant) {
+ if (!slant) {
fprintf(stderr, "Couldn't determine slant for %s\n", filename);
slant = "r";
}
- if(!weight) {
+ if (!weight) {
fprintf(stderr, "Couldn't determine weight for %s\n", filename);
weight = "medium";
}
- if(!foundry) {
+ if (!foundry) {
char *notice;
+
notice = getName(face, TT_NAME_ID_TRADEMARK);
- if(notice) {
+ if (notice) {
foundry = notice_foundry(notice);
free(notice);
}
- if(!foundry) {
+ if (!foundry) {
notice = getName(face, TT_NAME_ID_MANUFACTURER);
- if(notice) {
+ if (notice) {
foundry = notice_foundry(notice);
free(notice);
}
}
}
- if(strcmp(slant, "i") == 0) {
- if(strstr(full_name, "Oblique"))
+ if (strcmp(slant, "i") == 0) {
+ if (strstr(full_name, "Oblique"))
slant = "o";
- if(strstr(full_name, "Slanted"))
+ if (strstr(full_name, "Slanted"))
slant = "o";
}
- if(!sWidth)
+ if (!sWidth)
sWidth = nameWidth(full_name);
- if(!foundry) foundry = "misc";
- if(!family) {
+ if (!foundry)
+ foundry = "misc";
+ if (!family) {
fprintf(stderr, "Couldn't get family name for %s\n", filename);
family = strdup(filename);
}
- if(!weight) weight = "medium";
- if(!slant) slant = "r";
- if(!sWidth) sWidth = "normal";
- if(!adstyle) adstyle = "";
- if(!spacing) spacing = "p";
+ if (!weight)
+ weight = "medium";
+ if (!slant)
+ slant = "r";
+ if (!sWidth)
+ sWidth = "normal";
+ if (!adstyle)
+ adstyle = "";
+ if (!spacing)
+ spacing = "p";
foundry = safe(foundry);
tmp = family;
family = safe(family);
- free((void *)tmp);
+ free((void *) tmp);
- if(!isBitmap) {
+ if (!isBitmap) {
xlfd = listConsF(xlfd,
"-%s-%s-%s-%s-%s-%s-0-0-0-0-%s-0",
foundry, family,
weight, slant, sWidth, adstyle, spacing);
- } else {
+ }
+ else {
int i, w, h, xres, yres;
- for(i = 0; i < face->num_fixed_sizes; i++) {
+
+ for (i = 0; i < face->num_fixed_sizes; i++) {
w = face->available_sizes[i].width;
h = face->available_sizes[i].height;
xres = 75;
- yres = (double)h / w * xres;
+ yres = (double) h / w * xres;
xlfd = listConsF(xlfd,
"-%s-%s-%s-%s-%s-%s-%d-%d-%d-%d-%s-%d",
foundry, family,
weight, slant, sWidth, adstyle,
- h, (int)(h / (double)yres * 72.27 * 10 + 0.5),
- xres, yres,
- spacing, 60);
+ h, (int) (h / (double) yres * 72.27 * 10 + 0.5),
+ xres, yres, spacing, 60);
}
}
- free((void *)family);
- free((void *)foundry);
- free((void *)full_name);
+ free((void *) family);
+ free((void *) foundry);
+ free((void *) full_name);
return xlfd;
}
@@ -710,36 +735,36 @@ readFontScale(HashTablePtr entries, char *dirname)
char *filename;
FILE *in;
int rc, count, i;
- char file[MAXFONTFILENAMELEN+1], font[MAXFONTNAMELEN+1];
+ char file[MAXFONTFILENAMELEN + 1], font[MAXFONTNAMELEN + 1];
- if(dirname[n - 1] == '/')
+ if (dirname[n - 1] == '/')
filename = dsprintf("%sfonts.scale", dirname);
else
filename = dsprintf("%s/fonts.scale", dirname);
- if(filename == NULL)
+ if (filename == NULL)
return -1;
in = fopen(filename, "r");
free(filename);
- if(in == NULL) {
- if(errno != ENOENT)
+ if (in == NULL) {
+ if (errno != ENOENT)
perror("open(fonts.scale)");
return -1;
}
rc = fscanf(in, "%d\n", &count);
- if(rc != 1) {
+ if (rc != 1) {
fprintf(stderr, "Invalid fonts.scale in %s.\n", dirname);
fclose(in);
return -1;
}
- for(i = 0; i < count; i++) {
+ for (i = 0; i < count; i++) {
rc = fscanf(in,
- "%" STRINGIFY(MAXFONTFILENAMELEN) "s "
- "%" STRINGIFY(MAXFONTNAMELEN) "[^\n]\n",
- file, font);
- if(rc != 2)
+ "%" STRINGIFY(MAXFONTFILENAMELEN) "s "
+ "%" STRINGIFY(MAXFONTNAMELEN) "[^\n]\n",
+ file, font);
+ if (rc != 2)
break;
putHash(entries, font, file, 100);
}
@@ -751,31 +776,32 @@ static int
filePrio(char *filename)
{
size_t n = strlen(filename);
- if(n < 4)
+
+ if (n < 4)
return 0;
- if(strcmp(filename + n - 4, ".otf") == 0)
+ if (strcmp(filename + n - 4, ".otf") == 0)
return 6;
- if(strcmp(filename + n - 4, ".OTF") == 0)
+ if (strcmp(filename + n - 4, ".OTF") == 0)
return 6;
- if(strcmp(filename + n - 4, ".ttf") == 0)
+ if (strcmp(filename + n - 4, ".ttf") == 0)
return 5;
- if(strcmp(filename + n - 4, ".TTF") == 0)
+ if (strcmp(filename + n - 4, ".TTF") == 0)
return 5;
- if(strcmp(filename + n - 4, ".pcf") == 0)
+ if (strcmp(filename + n - 4, ".pcf") == 0)
return 4;
- if(strcmp(filename + n - 4, ".PCF") == 0)
+ if (strcmp(filename + n - 4, ".PCF") == 0)
return 4;
- if(strcmp(filename + n - 3, ".gz") == 0)
+ if (strcmp(filename + n - 3, ".gz") == 0)
return 3;
#ifdef X_BZIP2_FONT_COMPRESSION
- if(strcmp(filename + n - 4, ".bz2") == 0)
+ if (strcmp(filename + n - 4, ".bz2") == 0)
return 2;
#endif
- if(strcmp(filename + n - 2, ".Z") == 0)
+ if (strcmp(filename + n - 2, ".Z") == 0)
return 2;
- if(strcmp(filename + n - 4, ".bdf") == 0)
+ if (strcmp(filename + n - 4, ".bdf") == 0)
return 1;
- if(strcmp(filename + n - 4, ".BDF") == 0)
+ if (strcmp(filename + n - 4, ".BDF") == 0)
return 1;
return 0;
}
@@ -785,7 +811,7 @@ doDirectory(const char *dirname_given, int numEncodings, ListPtr encodingsToDo)
{
char *dirname, *fontscale_name, *filename, *encdir;
FILE *fontscale, *encfile;
- struct dirent** namelist;
+ struct dirent **namelist;
FT_Error ftrc;
FT_Face face;
ConstListPtr encoding;
@@ -793,206 +819,218 @@ doDirectory(const char *dirname_given, int numEncodings, ListPtr encodingsToDo)
HashTablePtr entries;
HashBucketPtr *array;
int i, n, dirn, diri, found, rc;
- int isBitmap=0;
- size_t d, xl=0;
+ int isBitmap = 0;
+ size_t d, xl = 0;
if (exclusionSuffix)
- xl = strlen (exclusionSuffix);
+ xl = strlen(exclusionSuffix);
d = strlen(dirname_given);
- if(d == 0)
+ if (d == 0)
dirname = dsprintf("./");
- else if(dirname_given[d - 1] != '/')
+ else if (dirname_given[d - 1] != '/')
dirname = dsprintf("%s/", dirname_given);
else
dirname = strdup(dirname_given);
- if(dirname == NULL) {
+ if (dirname == NULL) {
perror("dirname");
exit(1);
}
if (onlyEncodings)
- goto encodings;
+ goto encodings;
entries = makeHashTable();
- if(doBitmaps && !doScalable) {
+ if (doBitmaps && !doScalable) {
readFontScale(entries, dirname);
}
- if(strcmp(outfilename, "-") == 0)
+ if (strcmp(outfilename, "-") == 0)
fontscale_name = NULL;
else {
- if(outfilename[0] == '/')
+ if (outfilename[0] == '/')
fontscale_name = strdup(outfilename);
else
fontscale_name = dsprintf("%s%s", dirname, outfilename);
- if(fontscale_name == NULL) {
+ if (fontscale_name == NULL) {
perror("fontscale_name");
exit(1);
}
}
dirn = scandir(dirname, &namelist, NULL, alphasort);
- if(dirn < 0) {
+ if (dirn < 0) {
fprintf(stderr, "%s: ", dirname);
perror("scandir");
return 0;
}
- if(fontscale_name == NULL)
+ if (fontscale_name == NULL)
fontscale = stdout;
else
fontscale = fopen(fontscale_name, "wb");
- if(fontscale == NULL) {
+ if (fontscale == NULL) {
fprintf(stderr, "%s: ", fontscale_name);
perror("fopen(w)");
return 0;
}
- for(diri = dirn - 1; diri >= 0; diri--) {
+ for (diri = dirn - 1; diri >= 0; diri--) {
struct dirent *entry = namelist[diri];
int have_face = 0;
char *xlfd_name = NULL;
- struct stat f_stat;
- int tprio = 1;
+ struct stat f_stat;
+ int tprio = 1;
xlfd = NULL;
- if (xl) {
- size_t dl = strlen (entry->d_name);
- if (strcmp (entry->d_name + dl - xl, exclusionSuffix) == 0)
- continue;
- }
+ if (xl) {
+ size_t dl = strlen(entry->d_name);
+
+ if (strcmp(entry->d_name + dl - xl, exclusionSuffix) == 0)
+ continue;
+ }
filename = dsprintf("%s%s", dirname, entry->d_name);
#define PRIO(x) ((x << 1) + tprio)
#ifdef DT_LNK
- if (entry->d_type != DT_UNKNOWN) {
- if (entry->d_type == DT_LNK)
- tprio = 0;
- } else
+ if (entry->d_type != DT_UNKNOWN) {
+ if (entry->d_type == DT_LNK)
+ tprio = 0;
+ }
+ else
#endif
#ifdef S_ISLNK
- {
- if (lstat(filename, &f_stat))
- goto done;
- if (S_ISLNK(f_stat.st_mode))
- tprio = 0;
- }
+ {
+ if (lstat(filename, &f_stat))
+ goto done;
+ if (S_ISLNK(f_stat.st_mode))
+ tprio = 0;
+ }
#else
- ;
+ ;
#endif
- if(doBitmaps)
+ if (doBitmaps)
rc = bitmapIdentify(filename, &xlfd_name);
else
rc = 0;
- if(rc < 0)
+ if (rc < 0)
goto done;
- if(rc == 0) {
+ if (rc == 0) {
ftrc = FT_New_Face(ft_library, filename, 0, &face);
- if(ftrc)
+ if (ftrc)
goto done;
have_face = 1;
isBitmap = ((face->face_flags & FT_FACE_FLAG_SCALABLE) == 0);
- if(!isBitmap) {
+ if (!isBitmap) {
/* Workaround for bitmap-only SFNT fonts */
- if(FT_IS_SFNT(face) && face->num_fixed_sizes > 0 &&
- strcmp(FT_Get_X11_Font_Format(face), "TrueType") == 0) {
+ if (FT_IS_SFNT(face) && face->num_fixed_sizes > 0 &&
+ strcmp(FT_Get_X11_Font_Format(face), "TrueType") == 0) {
TT_MaxProfile *maxp;
+
maxp = FT_Get_Sfnt_Table(face, ft_sfnt_maxp);
- if(maxp != NULL && maxp->maxContours == 0)
+ if (maxp != NULL && maxp->maxContours == 0)
isBitmap = 1;
}
}
- if(isBitmap) {
- if(!doBitmaps)
+ if (isBitmap) {
+ if (!doBitmaps)
goto done;
- } else {
- if(!doScalable)
+ }
+ else {
+ if (!doScalable)
goto done;
}
- if(isBitmap) {
+ if (isBitmap) {
BDF_PropertyRec prop;
+
rc = FT_Get_BDF_Property(face, "FONT", &prop);
- if(rc == 0 && prop.type == BDF_PROPERTY_TYPE_ATOM) {
+ if (rc == 0 && prop.type == BDF_PROPERTY_TYPE_ATOM) {
xlfd_name = strdup(prop.u.atom);
- if(xlfd_name == NULL)
+ if (xlfd_name == NULL)
goto done;
}
}
}
- if(xlfd_name) {
+ if (xlfd_name) {
/* We know it's a bitmap font, and we know its XLFD */
size_t l = strlen(xlfd_name);
- if(reencodeLegacy &&
- l >= 12 && strcasecmp(xlfd_name + l - 11, "-iso10646-1") == 0) {
+
+ if (reencodeLegacy &&
+ l >= 12 && strcasecmp(xlfd_name + l - 11, "-iso10646-1") == 0) {
char *s;
s = malloc(l - 10);
memcpy(s, xlfd_name, l - 11);
s[l - 11] = '\0';
xlfd = listCons(s, xlfd);
- } else {
+ }
+ else {
/* Not a reencodable font -- skip all the rest of the loop body */
- putHash(entries, xlfd_name, entry->d_name, PRIO(filePrio(entry->d_name)));
+ putHash(entries, xlfd_name, entry->d_name,
+ PRIO(filePrio(entry->d_name)));
goto done;
}
}
- if(!have_face) {
+ if (!have_face) {
ftrc = FT_New_Face(ft_library, filename, 0, &face);
- if(ftrc)
+ if (ftrc)
goto done;
have_face = 1;
isBitmap = ((face->face_flags & FT_FACE_FLAG_SCALABLE) == 0);
- if(!isBitmap) {
- if(face->num_fixed_sizes > 0) {
+ if (!isBitmap) {
+ if (face->num_fixed_sizes > 0) {
TT_MaxProfile *maxp;
+
maxp = FT_Get_Sfnt_Table(face, ft_sfnt_maxp);
- if(maxp != NULL && maxp->maxContours == 0)
+ if (maxp != NULL && maxp->maxContours == 0)
isBitmap = 1;
}
}
}
- if(xlfd == NULL)
+ if (xlfd == NULL)
xlfd = makeXLFD(entry->d_name, face, isBitmap);
found = 0;
- for(lp = xlfd; lp; lp = lp->next) {
+ for (lp = xlfd; lp; lp = lp->next) {
char buf[MAXFONTNAMELEN];
- for(encoding = encodings; encoding; encoding = encoding->next) {
- if(checkEncoding(face, encoding->value)) {
+
+ for (encoding = encodings; encoding; encoding = encoding->next) {
+ if (checkEncoding(face, encoding->value)) {
found = 1;
snprintf(buf, MAXFONTNAMELEN, "%s-%s",
- lp->value, encoding->value);
- putHash(entries, buf, entry->d_name, PRIO(filePrio(entry->d_name)));
+ lp->value, encoding->value);
+ putHash(entries, buf, entry->d_name,
+ PRIO(filePrio(entry->d_name)));
}
}
- for(encoding = extra_encodings; encoding;
- encoding = encoding->next) {
- if(checkExtraEncoding(face, encoding->value, found)) {
+ for (encoding = extra_encodings; encoding;
+ encoding = encoding->next) {
+ if (checkExtraEncoding(face, encoding->value, found)) {
/* Do not set found! */
snprintf(buf, MAXFONTNAMELEN, "%s-%s",
- lp->value, encoding->value);
- putHash(entries, buf, entry->d_name, PRIO(filePrio(entry->d_name)));
+ lp->value, encoding->value);
+ putHash(entries, buf, entry->d_name,
+ PRIO(filePrio(entry->d_name)));
}
}
}
- done:
- if(have_face)
+ done:
+ if (have_face)
FT_Done_Face(face);
deepDestroyList(xlfd);
xlfd = NULL;
@@ -1000,17 +1038,17 @@ doDirectory(const char *dirname_given, int numEncodings, ListPtr encodingsToDo)
#undef PRIO
}
- while(dirn--)
+ while (dirn--)
free(namelist[dirn]);
free(namelist);
n = hashElements(entries);
fprintf(fontscale, "%d\n", n);
array = hashArray(entries, 1);
- for(i = 0; i < n; i++)
+ for (i = 0; i < n; i++)
fprintf(fontscale, "%s %s\n", array[i]->value, array[i]->key);
destroyHashArray(array);
entries = NULL;
- if(fontscale_name) {
+ if (fontscale_name) {
fclose(fontscale);
free(fontscale_name);
}
@@ -1018,24 +1056,24 @@ doDirectory(const char *dirname_given, int numEncodings, ListPtr encodingsToDo)
encodings:
encdir = dsprintf("%s%s", dirname, "encodings.dir");
- if(encdir == NULL) {
- perror("encodings");
- exit(1);
+ if (encdir == NULL) {
+ perror("encodings");
+ exit(1);
}
unlink(encdir);
if (numEncodings) {
- encfile = fopen(encdir, "w");
- if(encfile == NULL) {
- perror("open(encodings.dir)");
- exit(1);
- }
+ encfile = fopen(encdir, "w");
+ if (encfile == NULL) {
+ perror("open(encodings.dir)");
+ exit(1);
+ }
fprintf(encfile, "%d\n", numEncodings);
encodingsToDo = sortList(encodingsToDo);
- for(lp = encodingsToDo; lp; lp = lp->next) {
+ for (lp = encodingsToDo; lp; lp = lp->next) {
fprintf(encfile, "%s\n", lp->value);
}
- fclose (encfile);
+ fclose(encfile);
}
free(dirname);
@@ -1055,12 +1093,12 @@ checkEncoding(FT_Face face, const char *encoding_name)
char *n;
encoding = FontEncFind(encoding_name, NULL);
- if(!encoding)
+ if (!encoding)
return 0;
/* An encoding is ``small'' if one of the following is true:
- - it is linear and has no more than 256 codepoints; or
- - it is a matrix encoding and has no more than one column.
+ - it is linear and has no more than 256 codepoints; or
+ - it is a matrix encoding and has no more than one column.
For small encodings using Unicode indices, we require perfect
coverage except for CODE_IGNORED and KOI-8 IBM-PC compatibility.
@@ -1070,26 +1108,25 @@ checkEncoding(FT_Face face, const char *encoding_name)
For encodings using PS names (currently Adobe Standard and
Adobe Symbol only), we require perfect coverage. */
-
- if(FT_Has_PS_Glyph_Names(face)) {
- for(mapping = encoding->mappings; mapping; mapping = mapping->next) {
- if(mapping->type == FONT_ENCODING_POSTSCRIPT) {
- if(encoding->row_size > 0) {
- for(i = encoding->first; i < encoding->size; i++) {
- for(j = encoding->first_col;
- j < encoding->row_size;
- j++) {
- n = FontEncName((i<<8) | j, mapping);
- if(n && FT_Get_Name_Index(face, n) == 0) {
+ if (FT_Has_PS_Glyph_Names(face)) {
+ for (mapping = encoding->mappings; mapping; mapping = mapping->next) {
+ if (mapping->type == FONT_ENCODING_POSTSCRIPT) {
+ if (encoding->row_size > 0) {
+ for (i = encoding->first; i < encoding->size; i++) {
+ for (j = encoding->first_col;
+ j < encoding->row_size; j++) {
+ n = FontEncName((i << 8) | j, mapping);
+ if (n && FT_Get_Name_Index(face, n) == 0) {
return 0;
}
}
}
return 1;
- } else {
- for(i = encoding->first; i < encoding->size; i++) {
+ }
+ else {
+ for (i = encoding->first; i < encoding->size; i++) {
n = FontEncName(i, mapping);
- if(n && FT_Get_Name_Index(face, n) == 0) {
+ if (n && FT_Get_Name_Index(face, n) == 0) {
return 0;
}
}
@@ -1099,61 +1136,66 @@ checkEncoding(FT_Face face, const char *encoding_name)
}
}
- for(mapping = encoding->mappings; mapping; mapping = mapping->next) {
- if(find_cmap(mapping->type, mapping->pid, mapping->eid, face)) {
+ for (mapping = encoding->mappings; mapping; mapping = mapping->next) {
+ if (find_cmap(mapping->type, mapping->pid, mapping->eid, face)) {
int total = 0, failed = 0;
- if(encoding->row_size > 0) {
+
+ if (encoding->row_size > 0) {
int estimate =
(encoding->size - encoding->first) *
(encoding->row_size - encoding->first_col);
- for(i = encoding->first; i < encoding->size; i++) {
- for(j = encoding->first_col;
- j < encoding->row_size;
- j++) {
- c = FontEncRecode((i<<8) | j, mapping);
- if(CODE_IGNORED(c)) {
+ for (i = encoding->first; i < encoding->size; i++) {
+ for (j = encoding->first_col; j < encoding->row_size; j++) {
+ c = FontEncRecode((i << 8) | j, mapping);
+ if (CODE_IGNORED(c)) {
continue;
- } else {
- if(FT_Get_Char_Index(face, c) == 0) {
+ }
+ else {
+ if (FT_Get_Char_Index(face, c) == 0) {
failed++;
}
total++;
- if((encoding->size <= 1 && failed > 0) ||
- ((float)failed >= bigEncodingFuzz * estimate)) {
+ if ((encoding->size <= 1 && failed > 0) ||
+ ((float) failed >=
+ bigEncodingFuzz * estimate)) {
return 0;
}
}
}
}
- if((float)failed >= total * bigEncodingFuzz)
+ if ((float) failed >= total * bigEncodingFuzz)
return 0;
else
return 1;
- } else {
+ }
+ else {
int estimate = encoding->size - encoding->first;
+
/* For the KOI8 encodings, we ignore the lack of
linedrawing and pseudo-math characters */
- if(strncmp(encoding->name, "koi8-", 5) == 0)
+ if (strncmp(encoding->name, "koi8-", 5) == 0)
koi8 = 1;
else
koi8 = 0;
- for(i = encoding->first; i < encoding->size; i++) {
+ for (i = encoding->first; i < encoding->size; i++) {
c = FontEncRecode(i, mapping);
- if(CODE_IGNORED(c) ||
- (koi8 && ((c >= 0x2200 && c < 0x2600) || c == 0x00b2))) {
+ if (CODE_IGNORED(c) ||
+ (koi8 &&
+ ((c >= 0x2200 && c < 0x2600) || c == 0x00b2))) {
continue;
- } else {
- if(FT_Get_Char_Index(face, c) == 0) {
+ }
+ else {
+ if (FT_Get_Char_Index(face, c) == 0) {
failed++;
}
total++;
- if((encoding->size <= 256 && failed > 0) ||
- ((float)failed >= bigEncodingFuzz * estimate)) {
+ if ((encoding->size <= 256 && failed > 0) ||
+ ((float) failed >= bigEncodingFuzz * estimate)) {
return 0;
}
}
}
- if((float)failed >= total * bigEncodingFuzz)
+ if ((float) failed >= total * bigEncodingFuzz)
return 0;
else
return 1;
@@ -1171,43 +1213,43 @@ find_cmap(int type, int pid, int eid, FT_Face face)
n = face->num_charmaps;
- switch(type) {
- case FONT_ENCODING_TRUETYPE: /* specific cmap */
- for(i=0; i<n; i++) {
+ switch (type) {
+ case FONT_ENCODING_TRUETYPE: /* specific cmap */
+ for (i = 0; i < n; i++) {
cmap = face->charmaps[i];
- if(cmap->platform_id == pid && cmap->encoding_id == eid) {
+ if (cmap->platform_id == pid && cmap->encoding_id == eid) {
rc = FT_Set_Charmap(face, cmap);
- if(rc == 0)
+ if (rc == 0)
return 1;
}
}
break;
- case FONT_ENCODING_UNICODE: /* any Unicode cmap */
+ case FONT_ENCODING_UNICODE: /* any Unicode cmap */
/* prefer Microsoft Unicode */
- for(i=0; i<n; i++) {
+ for (i = 0; i < n; i++) {
cmap = face->charmaps[i];
- if(cmap->platform_id == TT_PLATFORM_MICROSOFT &&
- cmap->encoding_id == TT_MS_ID_UNICODE_CS) {
+ if (cmap->platform_id == TT_PLATFORM_MICROSOFT &&
+ cmap->encoding_id == TT_MS_ID_UNICODE_CS) {
rc = FT_Set_Charmap(face, cmap);
- if(rc == 0)
+ if (rc == 0)
return 1;
}
}
/* Try Apple Unicode */
- for(i=0; i<n; i++) {
+ for (i = 0; i < n; i++) {
cmap = face->charmaps[i];
- if(cmap->platform_id == TT_PLATFORM_APPLE_UNICODE) {
+ if (cmap->platform_id == TT_PLATFORM_APPLE_UNICODE) {
rc = FT_Set_Charmap(face, cmap);
- if(rc == 0)
+ if (rc == 0)
return 1;
}
}
/* ISO Unicode? */
- for(i=0; i<n; i++) {
+ for (i = 0; i < n; i++) {
cmap = face->charmaps[i];
- if(cmap->platform_id == TT_PLATFORM_ISO) {
+ if (cmap->platform_id == TT_PLATFORM_ISO) {
rc = FT_Set_Charmap(face, cmap);
- if(rc == 0)
+ if (rc == 0)
return 1;
}
}
@@ -1223,49 +1265,56 @@ checkExtraEncoding(FT_Face face, const char *encoding_name, int found)
{
int c;
- if(strcasecmp(encoding_name, "iso10646-1") == 0) {
- if(doISO10646_1_encoding && find_cmap(FONT_ENCODING_UNICODE, -1, -1, face)) {
+ if (strcasecmp(encoding_name, "iso10646-1") == 0) {
+ if (doISO10646_1_encoding &&
+ find_cmap(FONT_ENCODING_UNICODE, -1, -1, face)) {
int cfound = 0;
- /* Export as Unicode if there are at least 15 BMP
+
+ /* Export as Unicode if there are at least 15 BMP
characters that are not a space or ignored. */
- for(c = 0x21; c < 0x10000; c++) {
- if(CODE_IGNORED(c))
+ for (c = 0x21; c < 0x10000; c++) {
+ if (CODE_IGNORED(c))
continue;
- if(FT_Get_Char_Index(face, c) > 0)
+ if (FT_Get_Char_Index(face, c) > 0)
cfound++;
- if(cfound >= 15)
+ if (cfound >= 15)
return 1;
}
return 0;
- } else
+ }
+ else
return 0;
- } else if(strcasecmp(encoding_name, "microsoft-symbol") == 0) {
- if(find_cmap(FONT_ENCODING_TRUETYPE,
- TT_PLATFORM_MICROSOFT, TT_MS_ID_SYMBOL_CS,
- face))
+ }
+ else if (strcasecmp(encoding_name, "microsoft-symbol") == 0) {
+ if (find_cmap(FONT_ENCODING_TRUETYPE,
+ TT_PLATFORM_MICROSOFT, TT_MS_ID_SYMBOL_CS, face))
return 1;
else
return 0;
- } else if(strcasecmp(encoding_name, "adobe-fontspecific") == 0) {
- if(!found) {
- if(FT_Has_PS_Glyph_Names(face))
+ }
+ else if (strcasecmp(encoding_name, "adobe-fontspecific") == 0) {
+ if (!found) {
+ if (FT_Has_PS_Glyph_Names(face))
return 1;
else
return 0;
- } else
+ }
+ else
return 0;
- } else {
+ }
+ else {
fprintf(stderr, "Unknown extra encoding %s\n", encoding_name);
return 0;
}
}
-static const char*
+static const char *
notice_foundry(const char *notice)
{
unsigned int i;
- for(i = 0; i < countof(notice_foundries); i++)
- if(notice && strstr(notice, notice_foundries[i][0]))
+
+ for (i = 0; i < countof(notice_foundries); i++)
+ if (notice && strstr(notice, notice_foundries[i][0]))
return notice_foundries[i][1];
return NULL;
}
@@ -1275,21 +1324,23 @@ vendor_match(const signed char *vendor, const char *vendor_string)
{
/* vendor is not necessarily NUL-terminated. */
size_t i, len;
+
len = strlen(vendor_string);
- if(memcmp(vendor, vendor_string, len) != 0)
+ if (memcmp(vendor, vendor_string, len) != 0)
return 0;
- for(i = len; i < 4; i++)
- if(vendor[i] != ' ' && vendor[i] != '\0')
+ for (i = len; i < 4; i++)
+ if (vendor[i] != ' ' && vendor[i] != '\0')
return 0;
return 1;
}
-static const char*
+static const char *
vendor_foundry(const signed char *vendor)
{
unsigned int i;
- for(i = 0; i < countof(vendor_foundries); i++)
- if(vendor_match(vendor, vendor_foundries[i][0]))
+
+ for (i = 0; i < countof(vendor_foundries); i++)
+ if (vendor_match(vendor, vendor_foundries[i][0]))
return vendor_foundries[i][1];
return NULL;
}
@@ -1302,43 +1353,45 @@ readEncodings(ListPtr encodings, char *dirname)
struct dirent *file;
char **names, **name;
- if(strlen(dirname) > 1 && dirname[strlen(dirname) - 1] == '/')
+ if (strlen(dirname) > 1 && dirname[strlen(dirname) - 1] == '/')
dirname[strlen(dirname) - 1] = '\0';
dirp = opendir(dirname);
- if(dirp == NULL) {
+ if (dirp == NULL) {
perror("opendir");
return -1;
}
- while((file = readdir(dirp)) != NULL) {
+ while ((file = readdir(dirp)) != NULL) {
fullname = dsprintf("%s/%s", dirname, file->d_name);
- if(fullname == NULL) {
+ if (fullname == NULL) {
fprintf(stderr, "Couldn't allocate fullname\n");
closedir(dirp);
return -1;
}
names = FontEncIdentify(fullname);
- if(!names)
+ if (!names)
continue;
- for(name = names; *name; name++) {
- if(fullname[0] != '/' && !relative) {
+ for (name = names; *name; name++) {
+ if (fullname[0] != '/' && !relative) {
char *n;
+
n = dsprintf("%s%s", encodingPrefix, fullname);
- if(n == NULL) {
+ if (n == NULL) {
fprintf(stderr, "Couldn't allocate name\n");
closedir(dirp);
return -1;
}
encodingsToDo = listConsF(encodingsToDo, "%s %s", *name, n);
free(n);
- } else {
+ }
+ else {
encodingsToDo =
listConsF(encodingsToDo, "%s %s", *name, fullname);
}
- if(encodingsToDo == NULL) {
+ if (encodingsToDo == NULL) {
fprintf(stderr, "Couldn't allocate encodings\n");
closedir(dirp);
return -1;