summaryrefslogtreecommitdiff
path: root/Build/source/texk/xdvipdfmx/src/fontmap.c
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/xdvipdfmx/src/fontmap.c')
-rw-r--r--Build/source/texk/xdvipdfmx/src/fontmap.c55
1 files changed, 31 insertions, 24 deletions
diff --git a/Build/source/texk/xdvipdfmx/src/fontmap.c b/Build/source/texk/xdvipdfmx/src/fontmap.c
index 0396d4c05ea..949bd1adb23 100644
--- a/Build/source/texk/xdvipdfmx/src/fontmap.c
+++ b/Build/source/texk/xdvipdfmx/src/fontmap.c
@@ -244,9 +244,9 @@ readline (char *buf, int buf_len, FILE *fp)
# define ISBLANK(c) ((c) == ' ' || (c) == '\t')
#endif
static void
-skip_blank (char **pp, char *endptr)
+skip_blank (const char **pp, const char *endptr)
{
- char *p = *pp;
+ const char *p = *pp;
if (!p || p >= endptr)
return;
for ( ; p < endptr && ISBLANK(*p); p++);
@@ -254,9 +254,10 @@ skip_blank (char **pp, char *endptr)
}
static char *
-parse_string_value (char **pp, char *endptr)
+parse_string_value (const char **pp, const char *endptr)
{
- char *q = NULL, *p = *pp;
+ char *q = NULL;
+ const char *p = *pp;
int n;
if (!p || p >= endptr)
@@ -277,9 +278,10 @@ parse_string_value (char **pp, char *endptr)
/* no preceeding spaces allowed */
static char *
-parse_integer_value (char **pp, char *endptr, int base)
+parse_integer_value (const char **pp, const char *endptr, int base)
{
- char *q, *p = *pp;
+ char *q;
+ const char *p = *pp;
int has_sign = 0, has_prefix = 0, n;
ASSERT( base == 0 || (base >= 2 && base <= 36) );
@@ -330,9 +332,9 @@ parse_integer_value (char **pp, char *endptr, int base)
static int
fontmap_parse_mapdef_dpm (fontmap_rec *mrec,
- const char *mapdef, char *endptr)
+ const char *mapdef, const char *endptr)
{
- char *p = (char *) mapdef;
+ const char *p = mapdef;
/*
* Parse record line in map file. First two fields (after TeX font
@@ -507,7 +509,7 @@ fontmap_parse_mapdef_dpm (fontmap_rec *mrec,
RELEASE(q);
return -1;
}
- *r = 0; r++; skip_blank(&r, r + strlen(r));
+ *r = 0; r++; skip_blank((const char **)&r, r + strlen(r));
if (*r == '\0') {
WARN("Invalid value for option 'm': %s,", q);
RELEASE(q);
@@ -578,9 +580,10 @@ fontmap_parse_mapdef_dpm (fontmap_rec *mrec,
/* Parse record line in map file of DVIPS/pdfTeX format. */
static int
fontmap_parse_mapdef_dps (fontmap_rec *mrec,
- const char *mapdef, char *endptr)
+ const char *mapdef, const char *endptr)
{
- char *p = (char *)mapdef, *q;
+ const char *p = mapdef;
+ char *q;
skip_blank(&p, endptr);
@@ -614,7 +617,8 @@ fontmap_parse_mapdef_dps (fontmap_rec *mrec,
case '"': /* Options */
if ((q = parse_string_value(&p, endptr))) {
- char *r = q, *e = q+strlen(q), *s, *t;
+ const char *r = q, *e = q+strlen(q);
+ char *s, *t;
skip_blank(&r, e);
while (r < e) {
if ((s = parse_float_decimal(&r, e))) {
@@ -666,7 +670,7 @@ chop_sfd_name (const char *tex_name, char **sfd_name)
*sfd_name = NULL;
- p = strchr((char *) tex_name, '@');
+ p = strchr(tex_name, '@');
if (!p ||
p[1] == '\0' || p == tex_name) {
return NULL;
@@ -891,11 +895,12 @@ int
pdf_read_fontmap_line (fontmap_rec *mrec, const char *mline, long mline_len, int format)
{
int error;
- char *q, *p, *endptr;
+ char *q;
+ const char *p, *endptr;
ASSERT(mrec);
- p = (char *) mline;
+ p = mline;
endptr = p + mline_len;
skip_blank(&p, endptr);
@@ -946,12 +951,12 @@ int
is_pdfm_mapline (const char *mline) /* NULL terminated. */
{
int n = 0;
- char *p, *endptr;
+ const char *p, *endptr;
if (strchr(mline, '"') || strchr(mline, '<'))
return -1; /* DVIPS/pdfTeX format */
- p = (char *) mline;
+ p = mline;
endptr = p + strlen(mline);
skip_blank(&p, endptr);
@@ -973,7 +978,7 @@ pdf_load_fontmap_file (const char *filename, int mode)
{
fontmap_rec *mrec;
FILE *fp;
- char *p = NULL, *endptr;
+ const char *p = NULL, *endptr;
long llen, lpos = 0;
int error = 0, format = 0;
@@ -1231,7 +1236,7 @@ pdf_load_native_font (const char *ps_name,
for (i = 0; i < matches->nfont; i++) {
FcChar8 *path;
- char *name;
+ const char *name;
int index;
FT_Face face;
if (FcPatternGetString(matches->fonts[i],
@@ -1239,7 +1244,7 @@ pdf_load_native_font (const char *ps_name,
FcPatternGetInteger(matches->fonts[i],
FC_INDEX, 0, &index) == FcResultMatch) {
FT_New_Face(ftLib, (char*)path, index, &face);
- name = (char *)FT_Get_Postscript_Name(face);
+ name = FT_Get_Postscript_Name(face);
if (!strcmp(name, ps_name)) {
error = pdf_insert_native_fontmap_record(ps_name, (char*)path, index, face,
layout_dir, extend, slant, embolden);
@@ -1360,9 +1365,10 @@ pdf_clear_fontmaps (void)
*/
static char *
-substr (char **str, char stop)
+substr (const char **str, char stop)
{
- char *sstr, *endptr;
+ char *sstr;
+ const char *endptr;
endptr = strchr(*str, stop);
if (!endptr || endptr == *str)
@@ -1382,12 +1388,13 @@ static char *
strip_options (const char *map_name, fontmap_opt *opt)
{
char *font_name;
- char *p, *next = NULL;
+ const char *p;
+ char *next = NULL;
int have_csi = 0, have_style = 0;
ASSERT(opt);
- p = (char *) map_name;
+ p = map_name;
font_name = NULL;
opt->charcoll = NULL;
opt->index = 0;