0,0 → 1,139 |
#include "fitz.h" |
#include "mupdf.h" |
|
#ifdef NOCJK |
#define NOCJKFONT |
#endif |
|
#include "../generated/font_base14.h" |
|
#ifndef NODROIDFONT |
#include "../generated/font_droid.h" |
#endif |
|
#ifndef NOCJKFONT |
#include "../generated/font_cjk.h" |
#endif |
|
unsigned char * |
pdf_find_builtin_font(char *name, unsigned int *len) |
{ |
if (!strcmp("Courier", name)) { |
*len = sizeof pdf_font_NimbusMonL_Regu; |
return (unsigned char*) pdf_font_NimbusMonL_Regu; |
} |
if (!strcmp("Courier-Bold", name)) { |
*len = sizeof pdf_font_NimbusMonL_Bold; |
return (unsigned char*) pdf_font_NimbusMonL_Bold; |
} |
if (!strcmp("Courier", name)) { |
*len = sizeof pdf_font_NimbusMonL_Regu; |
return (unsigned char*) pdf_font_NimbusMonL_Regu; |
} |
if (!strcmp("Courier-Bold", name)) { |
*len = sizeof pdf_font_NimbusMonL_Bold; |
return (unsigned char*) pdf_font_NimbusMonL_Bold; |
} |
if (!strcmp("Courier-Oblique", name)) { |
*len = sizeof pdf_font_NimbusMonL_ReguObli; |
return (unsigned char*) pdf_font_NimbusMonL_ReguObli; |
} |
if (!strcmp("Courier-BoldOblique", name)) { |
*len = sizeof pdf_font_NimbusMonL_BoldObli; |
return (unsigned char*) pdf_font_NimbusMonL_BoldObli; |
} |
if (!strcmp("Helvetica", name)) { |
*len = sizeof pdf_font_NimbusSanL_Regu; |
return (unsigned char*) pdf_font_NimbusSanL_Regu; |
} |
if (!strcmp("Helvetica-Bold", name)) { |
*len = sizeof pdf_font_NimbusSanL_Bold; |
return (unsigned char*) pdf_font_NimbusSanL_Bold; |
} |
if (!strcmp("Helvetica-Oblique", name)) { |
*len = sizeof pdf_font_NimbusSanL_ReguItal; |
return (unsigned char*) pdf_font_NimbusSanL_ReguItal; |
} |
if (!strcmp("Helvetica-BoldOblique", name)) { |
*len = sizeof pdf_font_NimbusSanL_BoldItal; |
return (unsigned char*) pdf_font_NimbusSanL_BoldItal; |
} |
if (!strcmp("Times-Roman", name)) { |
*len = sizeof pdf_font_NimbusRomNo9L_Regu; |
return (unsigned char*) pdf_font_NimbusRomNo9L_Regu; |
} |
if (!strcmp("Times-Bold", name)) { |
*len = sizeof pdf_font_NimbusRomNo9L_Medi; |
return (unsigned char*) pdf_font_NimbusRomNo9L_Medi; |
} |
if (!strcmp("Times-Italic", name)) { |
*len = sizeof pdf_font_NimbusRomNo9L_ReguItal; |
return (unsigned char*) pdf_font_NimbusRomNo9L_ReguItal; |
} |
if (!strcmp("Times-BoldItalic", name)) { |
*len = sizeof pdf_font_NimbusRomNo9L_MediItal; |
return (unsigned char*) pdf_font_NimbusRomNo9L_MediItal; |
} |
if (!strcmp("Symbol", name)) { |
*len = sizeof pdf_font_StandardSymL; |
return (unsigned char*) pdf_font_StandardSymL; |
} |
if (!strcmp("ZapfDingbats", name)) { |
*len = sizeof pdf_font_Dingbats; |
return (unsigned char*) pdf_font_Dingbats; |
} |
*len = 0; |
return NULL; |
} |
|
unsigned char * |
pdf_find_substitute_font(int mono, int serif, int bold, int italic, unsigned int *len) |
{ |
#ifdef NODROIDFONT |
if (mono) { |
if (bold) { |
if (italic) return pdf_find_builtin_font("Courier-BoldOblique", len); |
else return pdf_find_builtin_font("Courier-Bold", len); |
} else { |
if (italic) return pdf_find_builtin_font("Courier-Oblique", len); |
else return pdf_find_builtin_font("Courier", len); |
} |
} else if (serif) { |
if (bold) { |
if (italic) return pdf_find_builtin_font("Times-BoldItalic", len); |
else return pdf_find_builtin_font("Times-Bold", len); |
} else { |
if (italic) return pdf_find_builtin_font("Times-Italic", len); |
else return pdf_find_builtin_font("Times-Roman", len); |
} |
} else { |
if (bold) { |
if (italic) return pdf_find_builtin_font("Helvetica-BoldOblique", len); |
else return pdf_find_builtin_font("Helvetica-Bold", len); |
} else { |
if (italic) return pdf_find_builtin_font("Helvetica-Oblique", len); |
else return pdf_find_builtin_font("Helvetica", len); |
} |
} |
#else |
if (mono) { |
*len = sizeof pdf_font_DroidSansMono; |
return (unsigned char*) pdf_font_DroidSansMono; |
} else { |
*len = sizeof pdf_font_DroidSans; |
return (unsigned char*) pdf_font_DroidSans; |
} |
#endif |
} |
|
unsigned char * |
pdf_find_substitute_cjk_font(int ros, int serif, unsigned int *len) |
{ |
#ifndef NOCJKFONT |
*len = sizeof pdf_font_DroidSansFallback; |
return (unsigned char*) pdf_font_DroidSansFallback; |
#else |
*len = 0; |
return NULL; |
#endif |
} |