summaryrefslogtreecommitdiff
path: root/pdf/pdf_cmap_parse.c
diff options
context:
space:
mode:
Diffstat (limited to 'pdf/pdf_cmap_parse.c')
-rw-r--r--pdf/pdf_cmap_parse.c236
1 files changed, 118 insertions, 118 deletions
diff --git a/pdf/pdf_cmap_parse.c b/pdf/pdf_cmap_parse.c
index d899af0e..edd97de8 100644
--- a/pdf/pdf_cmap_parse.c
+++ b/pdf/pdf_cmap_parse.c
@@ -7,40 +7,40 @@
enum
{
- TUSECMAP = PDF_NTOKENS,
- TBEGINCODESPACERANGE,
- TENDCODESPACERANGE,
- TBEGINBFCHAR,
- TENDBFCHAR,
- TBEGINBFRANGE,
- TENDBFRANGE,
- TBEGINCIDCHAR,
- TENDCIDCHAR,
- TBEGINCIDRANGE,
- TENDCIDRANGE,
- TENDCMAP
+ TOK_USECMAP = PDF_NUM_TOKENS,
+ TOK_BEGIN_CODESPACE_RANGE,
+ TOK_END_CODESPACE_RANGE,
+ TOK_BEGIN_BF_CHAR,
+ TOK_END_BF_CHAR,
+ TOK_BEGIN_BF_RANGE,
+ TOK_END_BF_RANGE,
+ TOK_BEGIN_CID_CHAR,
+ TOK_END_CID_CHAR,
+ TOK_BEGIN_CID_RANGE,
+ TOK_END_CID_RANGE,
+ TOK_END_CMAP
};
static int
-pdf_cmaptokenfromkeyword(char *key)
+pdf_cmap_token_from_keyword(char *key)
{
- if (!strcmp(key, "usecmap")) return TUSECMAP;
- if (!strcmp(key, "begincodespacerange")) return TBEGINCODESPACERANGE;
- if (!strcmp(key, "endcodespacerange")) return TENDCODESPACERANGE;
- if (!strcmp(key, "beginbfchar")) return TBEGINBFCHAR;
- if (!strcmp(key, "endbfchar")) return TENDBFCHAR;
- if (!strcmp(key, "beginbfrange")) return TBEGINBFRANGE;
- if (!strcmp(key, "endbfrange")) return TENDBFRANGE;
- if (!strcmp(key, "begincidchar")) return TBEGINCIDCHAR;
- if (!strcmp(key, "endcidchar")) return TENDCIDCHAR;
- if (!strcmp(key, "begincidrange")) return TBEGINCIDRANGE;
- if (!strcmp(key, "endcidrange")) return TENDCIDRANGE;
- if (!strcmp(key, "endcmap")) return TENDCMAP;
- return PDF_TKEYWORD;
+ if (!strcmp(key, "usecmap")) return TOK_USECMAP;
+ if (!strcmp(key, "begincodespacerange")) return TOK_BEGIN_CODESPACE_RANGE;
+ if (!strcmp(key, "endcodespacerange")) return TOK_END_CODESPACE_RANGE;
+ if (!strcmp(key, "beginbfchar")) return TOK_BEGIN_BF_CHAR;
+ if (!strcmp(key, "endbfchar")) return TOK_END_BF_CHAR;
+ if (!strcmp(key, "beginbfrange")) return TOK_BEGIN_BF_RANGE;
+ if (!strcmp(key, "endbfrange")) return TOK_END_BF_RANGE;
+ if (!strcmp(key, "begincidchar")) return TOK_BEGIN_CID_CHAR;
+ if (!strcmp(key, "endcidchar")) return TOK_END_CID_CHAR;
+ if (!strcmp(key, "begincidrange")) return TOK_BEGIN_CID_RANGE;
+ if (!strcmp(key, "endcidrange")) return TOK_END_CID_RANGE;
+ if (!strcmp(key, "endcmap")) return TOK_END_CMAP;
+ return PDF_TOK_KEYWORD;
}
static int
-pdf_codefromstring(char *buf, int len)
+pdf_code_from_string(char *buf, int len)
{
int a = 0;
while (len--)
@@ -49,7 +49,7 @@ pdf_codefromstring(char *buf, int len)
}
static fz_error
-pdf_lexcmap(int *tok, fz_stream *file, char *buf, int n, int *sl)
+pdf_lex_cmap(int *tok, fz_stream *file, char *buf, int n, int *sl)
{
fz_error error;
@@ -57,26 +57,26 @@ pdf_lexcmap(int *tok, fz_stream *file, char *buf, int n, int *sl)
if (error)
return fz_rethrow(error, "cannot parse cmap token");
- if (*tok == PDF_TKEYWORD)
- *tok = pdf_cmaptokenfromkeyword(buf);
+ if (*tok == PDF_TOK_KEYWORD)
+ *tok = pdf_cmap_token_from_keyword(buf);
return fz_okay;
}
static fz_error
-pdf_parsecmapname(pdf_cmap *cmap, fz_stream *file)
+pdf_parse_cmap_name(pdf_cmap *cmap, fz_stream *file)
{
fz_error error;
char buf[256];
int tok;
int len;
- error = pdf_lexcmap(&tok, file, buf, sizeof buf, &len);
+ error = pdf_lex_cmap(&tok, file, buf, sizeof buf, &len);
if (error)
return fz_rethrow(error, "syntaxerror in cmap");
- if (tok == PDF_TNAME)
- fz_strlcpy(cmap->cmapname, buf, sizeof(cmap->cmapname));
+ if (tok == PDF_TOK_NAME)
+ fz_strlcpy(cmap->cmap_name, buf, sizeof(cmap->cmap_name));
else
fz_warn("expected name after CMapName in cmap");
@@ -84,19 +84,19 @@ pdf_parsecmapname(pdf_cmap *cmap, fz_stream *file)
}
static fz_error
-pdf_parsewmode(pdf_cmap *cmap, fz_stream *file)
+pdf_parse_wmode(pdf_cmap *cmap, fz_stream *file)
{
fz_error error;
char buf[256];
int tok;
int len;
- error = pdf_lexcmap(&tok, file, buf, sizeof buf, &len);
+ error = pdf_lex_cmap(&tok, file, buf, sizeof buf, &len);
if (error)
return fz_rethrow(error, "syntaxerror in cmap");
- if (tok == PDF_TINT)
- pdf_setwmode(cmap, atoi(buf));
+ if (tok == PDF_TOK_INT)
+ pdf_set_wmode(cmap, atoi(buf));
else
fz_warn("expected integer after WMode in cmap");
@@ -104,7 +104,7 @@ pdf_parsewmode(pdf_cmap *cmap, fz_stream *file)
}
static fz_error
-pdf_parsecodespacerange(pdf_cmap *cmap, fz_stream *file)
+pdf_parse_codespace_range(pdf_cmap *cmap, fz_stream *file)
{
fz_error error;
char buf[256];
@@ -114,23 +114,23 @@ pdf_parsecodespacerange(pdf_cmap *cmap, fz_stream *file)
while (1)
{
- error = pdf_lexcmap(&tok, file, buf, sizeof buf, &len);
+ error = pdf_lex_cmap(&tok, file, buf, sizeof buf, &len);
if (error)
return fz_rethrow(error, "syntaxerror in cmap");
- if (tok == TENDCODESPACERANGE)
+ if (tok == TOK_END_CODESPACE_RANGE)
return fz_okay;
- else if (tok == PDF_TSTRING)
+ else if (tok == PDF_TOK_STRING)
{
- lo = pdf_codefromstring(buf, len);
- error = pdf_lexcmap(&tok, file, buf, sizeof buf, &len);
+ lo = pdf_code_from_string(buf, len);
+ error = pdf_lex_cmap(&tok, file, buf, sizeof buf, &len);
if (error)
return fz_rethrow(error, "syntaxerror in cmap");
- if (tok == PDF_TSTRING)
+ if (tok == PDF_TOK_STRING)
{
- hi = pdf_codefromstring(buf, len);
- pdf_addcodespace(cmap, lo, hi, len);
+ hi = pdf_code_from_string(buf, len);
+ pdf_add_codespace(cmap, lo, hi, len);
}
else break;
}
@@ -142,7 +142,7 @@ pdf_parsecodespacerange(pdf_cmap *cmap, fz_stream *file)
}
static fz_error
-pdf_parsecidrange(pdf_cmap *cmap, fz_stream *file)
+pdf_parse_cid_range(pdf_cmap *cmap, fz_stream *file)
{
fz_error error;
char buf[256];
@@ -152,40 +152,40 @@ pdf_parsecidrange(pdf_cmap *cmap, fz_stream *file)
while (1)
{
- error = pdf_lexcmap(&tok, file, buf, sizeof buf, &len);
+ error = pdf_lex_cmap(&tok, file, buf, sizeof buf, &len);
if (error)
return fz_rethrow(error, "syntaxerror in cmap");
- if (tok == TENDCIDRANGE)
+ if (tok == TOK_END_CID_RANGE)
return fz_okay;
- else if (tok != PDF_TSTRING)
+ else if (tok != PDF_TOK_STRING)
return fz_throw("expected string or endcidrange");
- lo = pdf_codefromstring(buf, len);
+ lo = pdf_code_from_string(buf, len);
- error = pdf_lexcmap(&tok, file, buf, sizeof buf, &len);
+ error = pdf_lex_cmap(&tok, file, buf, sizeof buf, &len);
if (error)
return fz_rethrow(error, "syntaxerror in cmap");
- if (tok != PDF_TSTRING)
+ if (tok != PDF_TOK_STRING)
return fz_throw("expected string");
- hi = pdf_codefromstring(buf, len);
+ hi = pdf_code_from_string(buf, len);
- error = pdf_lexcmap(&tok, file, buf, sizeof buf, &len);
+ error = pdf_lex_cmap(&tok, file, buf, sizeof buf, &len);
if (error)
return fz_rethrow(error, "syntaxerror in cmap");
- if (tok != PDF_TINT)
+ if (tok != PDF_TOK_INT)
return fz_throw("expected integer");
dst = atoi(buf);
- pdf_maprangetorange(cmap, lo, hi, dst);
+ pdf_map_range_to_range(cmap, lo, hi, dst);
}
}
static fz_error
-pdf_parsecidchar(pdf_cmap *cmap, fz_stream *file)
+pdf_parse_cid_char(pdf_cmap *cmap, fz_stream *file)
{
fz_error error;
char buf[256];
@@ -195,32 +195,32 @@ pdf_parsecidchar(pdf_cmap *cmap, fz_stream *file)
while (1)
{
- error = pdf_lexcmap(&tok, file, buf, sizeof buf, &len);
+ error = pdf_lex_cmap(&tok, file, buf, sizeof buf, &len);
if (error)
return fz_rethrow(error, "syntaxerror in cmap");
- if (tok == TENDCIDCHAR)
+ if (tok == TOK_END_CID_CHAR)
return fz_okay;
- else if (tok != PDF_TSTRING)
+ else if (tok != PDF_TOK_STRING)
return fz_throw("expected string or endcidchar");
- src = pdf_codefromstring(buf, len);
+ src = pdf_code_from_string(buf, len);
- error = pdf_lexcmap(&tok, file, buf, sizeof buf, &len);
+ error = pdf_lex_cmap(&tok, file, buf, sizeof buf, &len);
if (error)
return fz_rethrow(error, "syntaxerror in cmap");
- if (tok != PDF_TINT)
+ if (tok != PDF_TOK_INT)
return fz_throw("expected integer");
dst = atoi(buf);
- pdf_maprangetorange(cmap, src, src, dst);
+ pdf_map_range_to_range(cmap, src, src, dst);
}
}
static fz_error
-pdf_parsebfrangearray(pdf_cmap *cmap, fz_stream *file, int lo, int hi)
+pdf_parse_bf_range_array(pdf_cmap *cmap, fz_stream *file, int lo, int hi)
{
fz_error error;
char buf[256];
@@ -231,23 +231,23 @@ pdf_parsebfrangearray(pdf_cmap *cmap, fz_stream *file, int lo, int hi)
while (1)
{
- error = pdf_lexcmap(&tok, file, buf, sizeof buf, &len);
+ error = pdf_lex_cmap(&tok, file, buf, sizeof buf, &len);
if (error)
return fz_rethrow(error, "syntaxerror in cmap");
- if (tok == PDF_TCARRAY)
+ if (tok == PDF_TOK_CLOSE_ARRAY)
return fz_okay;
/* Note: does not handle [ /Name /Name ... ] */
- else if (tok != PDF_TSTRING)
+ else if (tok != PDF_TOK_STRING)
return fz_throw("expected string or ]");
if (len / 2)
{
for (i = 0; i < len / 2; i++)
- dst[i] = pdf_codefromstring(buf + i * 2, 2);
+ dst[i] = pdf_code_from_string(buf + i * 2, 2);
- pdf_maponetomany(cmap, lo, dst, len / 2);
+ pdf_map_one_to_many(cmap, lo, dst, len / 2);
}
lo ++;
@@ -255,7 +255,7 @@ pdf_parsebfrangearray(pdf_cmap *cmap, fz_stream *file, int lo, int hi)
}
static fz_error
-pdf_parsebfrange(pdf_cmap *cmap, fz_stream *file)
+pdf_parse_bf_range(pdf_cmap *cmap, fz_stream *file)
{
fz_error error;
char buf[256];
@@ -265,36 +265,36 @@ pdf_parsebfrange(pdf_cmap *cmap, fz_stream *file)
while (1)
{
- error = pdf_lexcmap(&tok, file, buf, sizeof buf, &len);
+ error = pdf_lex_cmap(&tok, file, buf, sizeof buf, &len);
if (error)
return fz_rethrow(error, "syntaxerror in cmap");
- if (tok == TENDBFRANGE)
+ if (tok == TOK_END_BF_RANGE)
return fz_okay;
- else if (tok != PDF_TSTRING)
+ else if (tok != PDF_TOK_STRING)
return fz_throw("expected string or endbfrange");
- lo = pdf_codefromstring(buf, len);
+ lo = pdf_code_from_string(buf, len);
- error = pdf_lexcmap(&tok, file, buf, sizeof buf, &len);
+ error = pdf_lex_cmap(&tok, file, buf, sizeof buf, &len);
if (error)
return fz_rethrow(error, "syntaxerror in cmap");
- if (tok != PDF_TSTRING)
+ if (tok != PDF_TOK_STRING)
return fz_throw("expected string");
- hi = pdf_codefromstring(buf, len);
+ hi = pdf_code_from_string(buf, len);
- error = pdf_lexcmap(&tok, file, buf, sizeof buf, &len);
+ error = pdf_lex_cmap(&tok, file, buf, sizeof buf, &len);
if (error)
return fz_rethrow(error, "syntaxerror in cmap");
- if (tok == PDF_TSTRING)
+ if (tok == PDF_TOK_STRING)
{
if (len == 2)
{
- dst = pdf_codefromstring(buf, len);
- pdf_maprangetorange(cmap, lo, hi, dst);
+ dst = pdf_code_from_string(buf, len);
+ pdf_map_range_to_range(cmap, lo, hi, dst);
}
else
{
@@ -304,21 +304,21 @@ pdf_parsebfrange(pdf_cmap *cmap, fz_stream *file)
if (len / 2)
{
for (i = 0; i < len / 2; i++)
- dststr[i] = pdf_codefromstring(buf + i * 2, 2);
+ dststr[i] = pdf_code_from_string(buf + i * 2, 2);
while (lo <= hi)
{
dststr[i-1] ++;
- pdf_maponetomany(cmap, lo, dststr, i);
+ pdf_map_one_to_many(cmap, lo, dststr, i);
lo ++;
}
}
}
}
- else if (tok == PDF_TOARRAY)
+ else if (tok == PDF_TOK_OPEN_ARRAY)
{
- error = pdf_parsebfrangearray(cmap, file, lo, hi);
+ error = pdf_parse_bf_range_array(cmap, file, lo, hi);
if (error)
return fz_rethrow(error, "cannot map bfrange");
}
@@ -331,7 +331,7 @@ pdf_parsebfrange(pdf_cmap *cmap, fz_stream *file)
}
static fz_error
-pdf_parsebfchar(pdf_cmap *cmap, fz_stream *file)
+pdf_parse_bf_char(pdf_cmap *cmap, fz_stream *file)
{
fz_error error;
char buf[256];
@@ -343,36 +343,36 @@ pdf_parsebfchar(pdf_cmap *cmap, fz_stream *file)
while (1)
{
- error = pdf_lexcmap(&tok, file, buf, sizeof buf, &len);
+ error = pdf_lex_cmap(&tok, file, buf, sizeof buf, &len);
if (error)
return fz_rethrow(error, "syntaxerror in cmap");
- if (tok == TENDBFCHAR)
+ if (tok == TOK_END_BF_CHAR)
return fz_okay;
- else if (tok != PDF_TSTRING)
+ else if (tok != PDF_TOK_STRING)
return fz_throw("expected string or endbfchar");
- src = pdf_codefromstring(buf, len);
+ src = pdf_code_from_string(buf, len);
- error = pdf_lexcmap(&tok, file, buf, sizeof buf, &len);
+ error = pdf_lex_cmap(&tok, file, buf, sizeof buf, &len);
if (error)
return fz_rethrow(error, "syntaxerror in cmap");
/* Note: does not handle /dstName */
- if (tok != PDF_TSTRING)
+ if (tok != PDF_TOK_STRING)
return fz_throw("expected string");
if (len / 2)
{
for (i = 0; i < len / 2; i++)
- dst[i] = pdf_codefromstring(buf + i * 2, 2);
- pdf_maponetomany(cmap, src, dst, i);
+ dst[i] = pdf_code_from_string(buf + i * 2, 2);
+ pdf_map_one_to_many(cmap, src, dst, i);
}
}
}
fz_error
-pdf_parsecmap(pdf_cmap **cmapp, fz_stream *file)
+pdf_parse_cmap(pdf_cmap **cmapp, fz_stream *file)
{
fz_error error;
pdf_cmap *cmap;
@@ -381,27 +381,27 @@ pdf_parsecmap(pdf_cmap **cmapp, fz_stream *file)
int tok;
int len;
- cmap = pdf_newcmap();
+ cmap = pdf_new_cmap();
strcpy(key, ".notdef");
while (1)
{
- error = pdf_lexcmap(&tok, file, buf, sizeof buf, &len);
+ error = pdf_lex_cmap(&tok, file, buf, sizeof buf, &len);
if (error)
{
error = fz_rethrow(error, "syntaxerror in cmap");
goto cleanup;
}
- if (tok == PDF_TEOF || tok == TENDCMAP)
+ if (tok == PDF_TOK_EOF || tok == TOK_END_CMAP)
break;
- else if (tok == PDF_TNAME)
+ else if (tok == PDF_TOK_NAME)
{
if (!strcmp(buf, "CMapName"))
{
- error = pdf_parsecmapname(cmap, file);
+ error = pdf_parse_cmap_name(cmap, file);
if (error)
{
error = fz_rethrow(error, "syntaxerror in cmap after CMapName");
@@ -410,7 +410,7 @@ pdf_parsecmap(pdf_cmap **cmapp, fz_stream *file)
}
else if (!strcmp(buf, "WMode"))
{
- error = pdf_parsewmode(cmap, file);
+ error = pdf_parse_wmode(cmap, file);
if (error)
{
error = fz_rethrow(error, "syntaxerror in cmap after WMode");
@@ -421,14 +421,14 @@ pdf_parsecmap(pdf_cmap **cmapp, fz_stream *file)
fz_strlcpy(key, buf, sizeof key);
}
- else if (tok == TUSECMAP)
+ else if (tok == TOK_USECMAP)
{
- fz_strlcpy(cmap->usecmapname, key, sizeof(cmap->usecmapname));
+ fz_strlcpy(cmap->usecmap_name, key, sizeof(cmap->usecmap_name));
}
- else if (tok == TBEGINCODESPACERANGE)
+ else if (tok == TOK_BEGIN_CODESPACE_RANGE)
{
- error = pdf_parsecodespacerange(cmap, file);
+ error = pdf_parse_codespace_range(cmap, file);
if (error)
{
error = fz_rethrow(error, "syntaxerror in cmap codespacerange");
@@ -436,9 +436,9 @@ pdf_parsecmap(pdf_cmap **cmapp, fz_stream *file)
}
}
- else if (tok == TBEGINBFCHAR)
+ else if (tok == TOK_BEGIN_BF_CHAR)
{
- error = pdf_parsebfchar(cmap, file);
+ error = pdf_parse_bf_char(cmap, file);
if (error)
{
error = fz_rethrow(error, "syntaxerror in cmap bfchar");
@@ -446,9 +446,9 @@ pdf_parsecmap(pdf_cmap **cmapp, fz_stream *file)
}
}
- else if (tok == TBEGINCIDCHAR)
+ else if (tok == TOK_BEGIN_CID_CHAR)
{
- error = pdf_parsecidchar(cmap, file);
+ error = pdf_parse_cid_char(cmap, file);
if (error)
{
error = fz_rethrow(error, "syntaxerror in cmap cidchar");
@@ -456,9 +456,9 @@ pdf_parsecmap(pdf_cmap **cmapp, fz_stream *file)
}
}
- else if (tok == TBEGINBFRANGE)
+ else if (tok == TOK_BEGIN_BF_RANGE)
{
- error = pdf_parsebfrange(cmap, file);
+ error = pdf_parse_bf_range(cmap, file);
if (error)
{
error = fz_rethrow(error, "syntaxerror in cmap bfrange");
@@ -466,9 +466,9 @@ pdf_parsecmap(pdf_cmap **cmapp, fz_stream *file)
}
}
- else if (tok == TBEGINCIDRANGE)
+ else if (tok == TOK_BEGIN_CID_RANGE)
{
- error = pdf_parsecidrange(cmap, file);
+ error = pdf_parse_cid_range(cmap, file);
if (error)
{
error = fz_rethrow(error, "syntaxerror in cmap cidrange");
@@ -479,12 +479,12 @@ pdf_parsecmap(pdf_cmap **cmapp, fz_stream *file)
/* ignore everything else */
}
- pdf_sortcmap(cmap);
+ pdf_sort_cmap(cmap);
*cmapp = cmap;
return fz_okay;
cleanup:
- pdf_dropcmap(cmap);
+ pdf_drop_cmap(cmap);
return error; /* already rethrown */
}