1
1
package com .itextpdf .kernel .pdf .canvas ;
2
2
3
3
import com .itextpdf .io .LogMessageConstant ;
4
- import com .itextpdf .io .font .otf .Glyph ;
5
- import com .itextpdf .io .util .Utilities ;
6
4
import com .itextpdf .io .font .CidFont ;
7
5
import com .itextpdf .io .font .FontConstants ;
8
6
import com .itextpdf .io .font .FontFactory ;
9
7
import com .itextpdf .io .font .TrueTypeCollection ;
10
8
import com .itextpdf .io .font .TrueTypeFont ;
11
9
import com .itextpdf .io .font .Type1Font ;
12
10
import com .itextpdf .io .source .ByteArrayOutputStream ;
11
+ import com .itextpdf .io .util .Utilities ;
13
12
import com .itextpdf .kernel .color .DeviceRgb ;
14
13
import com .itextpdf .kernel .font .PdfFont ;
15
14
import com .itextpdf .kernel .font .PdfFontFactory ;
25
24
import com .itextpdf .kernel .pdf .PdfReader ;
26
25
import com .itextpdf .kernel .pdf .PdfWriter ;
27
26
import com .itextpdf .kernel .utils .CompareTool ;
28
- import com .itextpdf .test .annotations .type .IntegrationTest ;
29
27
import com .itextpdf .test .ExtendedITextTest ;
30
28
import com .itextpdf .test .annotations .LogMessage ;
31
29
import com .itextpdf .test .annotations .LogMessages ;
30
+ import com .itextpdf .test .annotations .type .IntegrationTest ;
32
31
33
32
import java .io .FileInputStream ;
34
33
import java .io .FileOutputStream ;
@@ -1232,6 +1231,32 @@ public void testWriteTTC() throws IOException, InterruptedException {
1232
1231
1233
1232
}
1234
1233
1234
+ @ Test
1235
+ public void testNotoFont () throws IOException , InterruptedException {
1236
+ String filename = destinationFolder + "testNotoFont.pdf" ;
1237
+ String cmpFilename = sourceFolder + "cmp_testNotoFont.pdf" ;
1238
+
1239
+ String japanese = "\u713C " ;
1240
+
1241
+ PdfDocument doc = new PdfDocument (new PdfWriter (filename ));
1242
+ PdfPage page = doc .addNewPage ();
1243
+
1244
+ PdfFont font = PdfFontFactory .createFont (fontsFolder + "NotoSansCJKjp-Bold.otf" , "Identity-H" , true );
1245
+
1246
+ PdfCanvas canvas = new PdfCanvas (page );
1247
+ canvas .saveState ()
1248
+ .beginText ()
1249
+ .moveText (36 , 680 )
1250
+ .setFontAndSize (font , 12 )
1251
+ .showText (japanese )
1252
+ .endText ()
1253
+ .restoreState ();
1254
+
1255
+ doc .close ();
1256
+ Assert .assertNull (new CompareTool ().compareByContent (filename , cmpFilename , destinationFolder , "diff_" ));
1257
+ }
1258
+
1259
+
1235
1260
@ Test
1236
1261
@ Ignore ("Invalid subset" )
1237
1262
public void NotoSansCJKjpTest () throws IOException , InterruptedException {
@@ -1242,8 +1267,8 @@ public void NotoSansCJKjpTest() throws IOException, InterruptedException {
1242
1267
PdfDocument doc = new PdfDocument (writer );
1243
1268
PdfPage page = doc .addNewPage ();
1244
1269
// Identity-H must be embedded
1245
- PdfFont font = PdfFontFactory .createFont (sourceFolder + "NotoSansCJKjp-Bold.otf" , "Identity-H" );
1246
- //font.setSubset(false);
1270
+ PdfFont font = PdfFontFactory .createFont (fontsFolder + "NotoSansCJKjp-Bold.otf" /*"san.otf"*/ , "Identity-H" );
1271
+ // font.setSubset(false);
1247
1272
PdfCanvas canvas = new PdfCanvas (page );
1248
1273
canvas .saveState ()
1249
1274
.setFillColor (DeviceRgb .GREEN )
0 commit comments