diff options
author | Tor Andersson <tor.andersson@artifex.com> | 2018-03-15 11:55:06 +0100 |
---|---|---|
committer | Tor Andersson <tor.andersson@artifex.com> | 2018-03-16 14:51:41 +0100 |
commit | 1cd2046b3cce264a3d13481652868fd1c31537fc (patch) | |
tree | 8ba181113cc22f2ffe4ba1a3ed549926b747bc8c /platform | |
parent | 2612c20b725319833caeef36ccf4240f34e0e24b (diff) | |
download | mupdf-1cd2046b3cce264a3d13481652868fd1c31537fc.tar.xz |
Add simple fonts with 8-bit greek and cyrillic encodings.
Use KOI8-U for Cyrillic, and ISO 8859-7 for Greek.
Use with 'mutool create' using an extra argument to the %%Font directive:
%%Font TmRmC Times-Roman Cyrillic
BT
/TmRmC 16 Tf 10 10 Td
<fa c4 d2 c1 d7 d3 d4 d7 d5 ca d4 c5 21> Tj
ET
The alternatives are "Latin", "Greek", and "Cyrillic".
Diffstat (limited to 'platform')
-rw-r--r-- | platform/java/mupdf_native.c | 4 | ||||
-rw-r--r-- | platform/java/mupdf_native.h | 10 | ||||
-rw-r--r-- | platform/java/src/com/artifex/mupdf/fitz/Font.java | 4 | ||||
-rw-r--r-- | platform/java/src/com/artifex/mupdf/fitz/PDFDocument.java | 2 |
4 files changed, 15 insertions, 5 deletions
diff --git a/platform/java/mupdf_native.c b/platform/java/mupdf_native.c index 31f76d7b..754d31a2 100644 --- a/platform/java/mupdf_native.c +++ b/platform/java/mupdf_native.c @@ -7076,7 +7076,7 @@ FUN(PDFDocument_addCJKFont)(JNIEnv *env, jobject self, jobject jfont, jint order } JNIEXPORT jobject JNICALL -FUN(PDFDocument_addSimpleFont)(JNIEnv *env, jobject self, jobject jfont) +FUN(PDFDocument_addSimpleFont)(JNIEnv *env, jobject self, jobject jfont, jint encoding) { fz_context *ctx = get_context(env); pdf_document *pdf = from_PDFDocument(env, self); @@ -7087,7 +7087,7 @@ FUN(PDFDocument_addSimpleFont)(JNIEnv *env, jobject self, jobject jfont) if (!font) { jni_throw_arg(env, "font must not be null"); return NULL; } fz_try(ctx) - ind = pdf_add_simple_font(ctx, pdf, font); + ind = pdf_add_simple_font(ctx, pdf, font, encoding); fz_catch(ctx) { jni_rethrow(env, ctx); diff --git a/platform/java/mupdf_native.h b/platform/java/mupdf_native.h index 42d54345..36807a0a 100644 --- a/platform/java/mupdf_native.h +++ b/platform/java/mupdf_native.h @@ -889,6 +889,12 @@ extern "C" { #ifdef __cplusplus extern "C" { #endif +#undef com_artifex_mupdf_fitz_Font_LATIN +#define com_artifex_mupdf_fitz_Font_LATIN 0L +#undef com_artifex_mupdf_fitz_Font_GREEK +#define com_artifex_mupdf_fitz_Font_GREEK 1L +#undef com_artifex_mupdf_fitz_Font_CYRILLIC +#define com_artifex_mupdf_fitz_Font_CYRILLIC 2L #undef com_artifex_mupdf_fitz_Font_CN #define com_artifex_mupdf_fitz_Font_CN 0L #undef com_artifex_mupdf_fitz_Font_TW @@ -1905,10 +1911,10 @@ JNIEXPORT jobject JNICALL Java_com_artifex_mupdf_fitz_PDFDocument_addImage /* * Class: com_artifex_mupdf_fitz_PDFDocument * Method: addSimpleFont - * Signature: (Lcom/artifex/mupdf/fitz/Font;)Lcom/artifex/mupdf/fitz/PDFObject; + * Signature: (Lcom/artifex/mupdf/fitz/Font;I)Lcom/artifex/mupdf/fitz/PDFObject; */ JNIEXPORT jobject JNICALL Java_com_artifex_mupdf_fitz_PDFDocument_addSimpleFont - (JNIEnv *, jobject, jobject); + (JNIEnv *, jobject, jobject, jint); /* * Class: com_artifex_mupdf_fitz_PDFDocument diff --git a/platform/java/src/com/artifex/mupdf/fitz/Font.java b/platform/java/src/com/artifex/mupdf/fitz/Font.java index 2910d543..f6ac2ce7 100644 --- a/platform/java/src/com/artifex/mupdf/fitz/Font.java +++ b/platform/java/src/com/artifex/mupdf/fitz/Font.java @@ -6,6 +6,10 @@ public class Font Context.init(); } + public static final int LATIN = 0; + public static final int GREEK = 1; + public static final int CYRILLIC = 2; + public static final int CN = 0; public static final int TW = 1; public static final int JP = 2; diff --git a/platform/java/src/com/artifex/mupdf/fitz/PDFDocument.java b/platform/java/src/com/artifex/mupdf/fitz/PDFDocument.java index b650df52..211b6ab1 100644 --- a/platform/java/src/com/artifex/mupdf/fitz/PDFDocument.java +++ b/platform/java/src/com/artifex/mupdf/fitz/PDFDocument.java @@ -96,7 +96,7 @@ public class PDFDocument extends Document public native void insertPage(int at, PDFObject page); public native void deletePage(int at); public native PDFObject addImage(Image image); - public native PDFObject addSimpleFont(Font font); + public native PDFObject addSimpleFont(Font font, int encoding); public native PDFObject addCJKFont(Font font, int ordering); public native PDFObject addFont(Font font); public native boolean hasUnsavedChanges(); |