Lines Matching refs:encoding

15  * PDFlib encoding handling routines
30 pdf__encoding_set_char(PDF *p, const char *encoding, int slot,
39 if (!strcmp(encoding, pdc_get_fixed_encoding_name((pdc_encoding) enc)))
40 pdc_error(p->pdc, PDF_E_ENC_CANTCHANGE, encoding, 0, 0, 0);
89 /* search for a registered encoding */
90 enc = pdf_find_encoding(p, encoding);
97 p->encodings[enc].ev = pdc_new_encoding(p->pdc, encoding);
105 pdc_error(p->pdc, PDF_E_ENC_CANTCHANGE, encoding, 0, 0, 0);
109 pdc_error(p->pdc, PDF_E_ENC_INUSE, encoding, 0, 0, 0);
125 PDF_encoding_set_char(PDF *p, const char *encoding, int slot,
132 (void *) p, encoding, slot, glyphname, uv))
137 if (!encoding || !*encoding)
138 pdc_error(p->pdc, PDC_E_ILLARG_EMPTY, "encoding", 0, 0, 0);
154 pdf__encoding_set_char(p, encoding, slot, glyphname, uv);
158 PDF_encoding_get_glyphname(PDF *p, const char *encoding, int slot)
165 "(p[%p], \"%s\", 0x%04X)", (void *) p, encoding, slot))
172 /* search for a registered encoding */
173 enc = pdf_find_encoding(p, encoding);
175 /* Unicode, glyphid or 8-bit encoding */
193 if (p->fonts[font].encoding != pdc_glyphid)
213 pdc_error(p->pdc, PDF_E_ENC_CANTQUERY, encoding, 0, 0, 0);
216 pdc_error(p->pdc, PDF_E_ENC_NOTFOUND, encoding, 0, 0, 0);
231 PDF_encoding_get_unicode(PDF *p, const char *encoding, int slot)
238 "(p[%p], \"%s\", 0x%04X)", (void *) p, encoding, slot))
244 /* search for a registered encoding */
245 enc = pdf_find_encoding(p, encoding);
247 /* Unicode, glyphid or 8-bit encoding */
265 if (p->fonts[font].encoding != pdc_glyphid)
281 pdc_error(p->pdc, PDF_E_ENC_CANTQUERY, encoding, 0, 0, 0);
284 pdc_error(p->pdc, PDF_E_ENC_NOTFOUND, encoding, 0, 0, 0);
295 * Try to read an encoding from file.
297 * Return value: allocated encoding struct
302 pdf_read_encoding(PDF *p, const char *encoding, const char *filename)
315 if ((fp = pdf_fopen(p, filename, "encoding ", 0)) == NULL)
328 ev = pdc_new_encoding(p->pdc, encoding);
413 * Try to generate an encoding from an Unicode code page.
415 * Return value: allocated encoding struct
420 pdf_generate_encoding(PDF *p, const char *encoding)
428 len = strlen(encoding);
429 if (len >= 6 && !strncmp(encoding, "U+", 2) &&
430 sscanf(&encoding[2], "%x", &i_uv1) == 1)
439 char *se = strstr(&encoding[6], "U+");
447 ev = pdc_new_encoding(p->pdc, encoding);
467 pdf_subst_encoding_name(PDF *p, const char *encoding, char *buffer)
472 /* special case for the platform-specific host encoding */
473 if (!strcmp(encoding, "host") || !strcmp(encoding, "auto"))
484 if (!strcmp(encoding, "auto"))
511 encoding = buffer;
521 if (!strcmp(encoding, "host") ||
522 !strcmp(encoding, "auto") ||
523 !strcmp(encoding, "cp1252"))
526 return encoding;
530 pdf_insert_encoding(PDF *p, const char *encoding)
537 /* substituting encoding name */
538 encoding = pdf_subst_encoding_name(p, encoding, buffer);
540 /* check for an user-defined encoding */
541 filename = pdf_find_resource(p, "Encoding", encoding);
543 ev = pdf_read_encoding(p, encoding, filename);
546 /* check for a generate encoding */
547 ev = pdf_generate_encoding(p, encoding);
551 pdc_set_errmsg(p->pdc, PDF_E_ENC_NOTFOUND, encoding, 0, 0, 0);
567 pdf_find_encoding(PDF *p, const char *encoding)
572 /* substituting encoding name */
573 encoding = pdf_subst_encoding_name(p, encoding, buffer);
575 /* search for a fixed encoding */
579 if (!strcmp(encoding, pdc_get_fixed_encoding_name((pdc_encoding) slot)))
581 /* copy in-core encoding at fixed slots */
583 p->encodings[slot].ev = pdc_copy_core_encoding(p->pdc, encoding);
588 /* search for a user defined encoding */
593 !strcmp(encoding, p->encodings[slot].ev->apiname))
600 /* search for an in-core encoding */
601 p->encodings[slot].ev = pdc_copy_core_encoding(p->pdc, encoding);