summaryrefslogtreecommitdiff
path: root/platform/java
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2018-03-15 11:55:06 +0100
committerTor Andersson <tor.andersson@artifex.com>2018-03-16 14:51:41 +0100
commit1cd2046b3cce264a3d13481652868fd1c31537fc (patch)
tree8ba181113cc22f2ffe4ba1a3ed549926b747bc8c /platform/java
parent2612c20b725319833caeef36ccf4240f34e0e24b (diff)
downloadmupdf-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/java')
-rw-r--r--platform/java/mupdf_native.c4
-rw-r--r--platform/java/mupdf_native.h10
-rw-r--r--platform/java/src/com/artifex/mupdf/fitz/Font.java4
-rw-r--r--platform/java/src/com/artifex/mupdf/fitz/PDFDocument.java2
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();