summaryrefslogtreecommitdiff
path: root/source/pdf/pdf-font.c
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2018-09-05 15:27:22 +0200
committerTor Andersson <tor.andersson@artifex.com>2018-09-21 14:21:05 +0200
commit48b026e7500c5f7239e173d14d09b9e2e272e874 (patch)
treed6231e9b0c39d7a6eb361eff3762855ea05102d8 /source/pdf/pdf-font.c
parent60103f2af83eb04c1e74b32fa9d29c74bf01c118 (diff)
downloadmupdf-48b026e7500c5f7239e173d14d09b9e2e272e874.tar.xz
Regularize language and script names.
Drop the unused 'serif' argument to the CJK lookup functions. Use the BCP 47 names for CJK scripts and languages: zh-Hant for traditional Chinese, zh-Hans for simplified Chinese, ja for Japanese, ko for Korean. The lookup function also allows commonly used language+country codes: zh-TW and zh-HK for traditional Chinese, zh-CN for simplified Chinese.
Diffstat (limited to 'source/pdf/pdf-font.c')
-rw-r--r--source/pdf/pdf-font.c30
1 files changed, 15 insertions, 15 deletions
diff --git a/source/pdf/pdf-font.c b/source/pdf/pdf-font.c
index 3dae9884..a0df70fd 100644
--- a/source/pdf/pdf-font.c
+++ b/source/pdf/pdf-font.c
@@ -409,15 +409,15 @@ pdf_load_substitute_cjk_font(fz_context *ctx, pdf_font_desc *fontdesc, const cha
if (!fontdesc->font)
{
const unsigned char *data;
- int len;
- int index;
+ int size;
+ int subfont;
- data = fz_lookup_cjk_font(ctx, ros, serif, &len, &index);
+ data = fz_lookup_cjk_font(ctx, ros, &size, &subfont);
if (!data)
fz_throw(ctx, FZ_ERROR_GENERIC, "cannot find builtin CJK font");
/* A glyph bbox cache is too big for CJK fonts. */
- fontdesc->font = fz_new_font_from_memory(ctx, fontname, data, len, index, 0);
+ fontdesc->font = fz_new_font_from_memory(ctx, fontname, data, size, subfont, 0);
}
fontdesc->font->flags.ft_substitute = 1;
@@ -451,13 +451,13 @@ pdf_load_system_font(fz_context *ctx, pdf_font_desc *fontdesc, const char *fontn
if (collection)
{
if (!strcmp(collection, "Adobe-CNS1"))
- pdf_load_substitute_cjk_font(ctx, fontdesc, fontname, FZ_ADOBE_CNS_1, serif);
+ pdf_load_substitute_cjk_font(ctx, fontdesc, fontname, FZ_ADOBE_CNS, serif);
else if (!strcmp(collection, "Adobe-GB1"))
- pdf_load_substitute_cjk_font(ctx, fontdesc, fontname, FZ_ADOBE_GB_1, serif);
+ pdf_load_substitute_cjk_font(ctx, fontdesc, fontname, FZ_ADOBE_GB, serif);
else if (!strcmp(collection, "Adobe-Japan1"))
- pdf_load_substitute_cjk_font(ctx, fontdesc, fontname, FZ_ADOBE_JAPAN_1, serif);
+ pdf_load_substitute_cjk_font(ctx, fontdesc, fontname, FZ_ADOBE_JAPAN, serif);
else if (!strcmp(collection, "Adobe-Korea1"))
- pdf_load_substitute_cjk_font(ctx, fontdesc, fontname, FZ_ADOBE_KOREA_1, serif);
+ pdf_load_substitute_cjk_font(ctx, fontdesc, fontname, FZ_ADOBE_KOREA, serif);
else
{
if (strcmp(collection, "Adobe-Identity") != 0)
@@ -2133,28 +2133,28 @@ pdf_add_cjk_font(fz_context *ctx, pdf_document *doc, fz_font *fzfont, int script
switch (script)
{
- case FZ_ADOBE_CNS_1: /* traditional chinese */
+ default:
+ script = FZ_ADOBE_CNS;
+ /* fall through */
+ case FZ_ADOBE_CNS: /* traditional chinese */
basefont = serif ? "Ming" : "Fangti";
encoding = wmode ? "UniCNS-UTF16-V" : "UniCNS-UTF16-H";
ordering = "CNS1";
supplement = 7;
break;
- case FZ_ADOBE_GB_1: /* simplified chinese */
+ case FZ_ADOBE_GB: /* simplified chinese */
basefont = serif ? "Song" : "Heiti";
encoding = wmode ? "UniGB-UTF16-V" : "UniGB-UTF16-H";
ordering = "GB1";
supplement = 5;
break;
- default:
- script = FZ_ADOBE_JAPAN_1;
- /* fall through */
- case FZ_ADOBE_JAPAN_1:
+ case FZ_ADOBE_JAPAN:
basefont = serif ? "Mincho" : "Gothic";
encoding = wmode ? "UniJIS-UTF16-V" : "UniJIS-UTF16-H";
ordering = "Japan1";
supplement = 6;
break;
- case FZ_ADOBE_KOREA_1:
+ case FZ_ADOBE_KOREA:
basefont = serif ? "Batang" : "Dotum";
encoding = wmode ? "UniKS-UTF16-V" : "UniKS-UTF16-H";
ordering = "Korea1";