View | Details | Raw Unified | Return to bug 48395
Collapse All | Expand All

(-)src/java/org/apache/xmlgraphics/ps/PSFontUtils.java (+36 lines)
Lines 120-126 Link Here
120
        gen.getResourceTracker().registerSuppliedResource(WINANSI_ENCODING_RESOURCE);
120
        gen.getResourceTracker().registerSuppliedResource(WINANSI_ENCODING_RESOURCE);
121
    }
121
    }
122
122
123
    /** the PSResource representing the AdobeStandardCyrillicEncoding. */
124
    public static final PSResource ADOBECYRILLIC_ENCODING_RESOURCE
125
            = new PSResource(PSResource.TYPE_ENCODING, "AdobeStandardCyrillicEncoding");
126
123
    /**
127
    /**
128
     * Defines the AdobeStandardCyrillic encoding for use in PostScript files.
129
     * @param gen the PostScript generator
130
     * @throws IOException In case of an I/O problem
131
     */
132
    public static void defineAdobeCyrillicEncoding(PSGenerator gen) throws IOException {
133
        gen.writeDSCComment(DSCConstants.BEGIN_RESOURCE, ADOBECYRILLIC_ENCODING_RESOURCE);
134
        gen.writeln("/AdobeStandardCyrillicEncoding [");
135
        for (int i = 0; i < Glyphs.ADOBECYRILLIC_ENCODING.length; i++) {
136
            if (i > 0) {
137
                if ((i % 5) == 0) {
138
                    gen.newLine();
139
                } else {
140
                    gen.write(" ");
141
                }
142
            }
143
            final char ch = Glyphs.ADOBECYRILLIC_ENCODING[i];
144
            final String glyphname = Glyphs.charToGlyphName(ch);
145
            if ("".equals(glyphname)) {
146
                gen.write("/" + Glyphs.NOTDEF);
147
            } else {
148
                gen.write("/");
149
                gen.write(glyphname);
150
            }
151
        }
152
        gen.newLine();
153
        gen.writeln("] def");
154
        gen.writeDSCComment(DSCConstants.END_RESOURCE);
155
        gen.getResourceTracker().registerSuppliedResource(ADOBECYRILLIC_ENCODING_RESOURCE);
156
    }
157
158
159
    /**
124
     * Redefines the encoding of a font.
160
     * Redefines the encoding of a font.
125
     * @param gen the PostScript generator
161
     * @param gen the PostScript generator
126
     * @param fontName the font name
162
     * @param fontName the font name
(-)src/java/org/apache/xmlgraphics/fonts/Glyphs.java (-1 / +383 lines)
Lines 219-224 Link Here
219
    };
219
    };
220
220
221
    /**
221
    /**
222
     * The characters in AdobeStandardCyrillicEncoding
223
     */
224
    public static final char[] ADOBECYRILLIC_ENCODING = {
225
	0, 
226
	0, 
227
	0, 
228
	0, 
229
	0, 
230
	0, 
231
	0, 
232
	0, 
233
	0, 
234
	0, 
235
	0, 
236
	0, 
237
	0, 
238
	0, 
239
	0, 
240
	0, 
241
	0, 
242
	0, 
243
	0, 
244
	0, 
245
	0, 
246
	0, 
247
	0,
248
	0, 
249
	0, 
250
	0, 
251
	0, 
252
	0, 
253
	0, 
254
	0, 
255
	0, 
256
	0,
257
258
	' ',		//space
259
	'\u0021',	//exclam
260
	'\"',		//quotedbl
261
	'\u0023',	//numbersign
262
	'$',		//dollar
263
	'%',		//percent
264
	'&',		//ampersand
265
	'\'',		//quotesingle
266
	'(',		//parenleft
267
	')',		//parenright
268
	'*',		//asterisk
269
	'+',		//plus
270
	',',		//comma
271
	'\u002d',	//hyphen
272
	'\u002e',	//period
273
	'/',		//slash
274
275
	'0',		//zero
276
	'1',		//one
277
	'2',		//two
278
	'3',		//three
279
	'4',		//four
280
	'5',		//five
281
	'6',		//six
282
	'7',		//seven
283
	'8',		//eight
284
	'9',		//nine
285
	':',		//colon
286
	';',		//semicolon
287
	'<',		//less
288
	'=',		//equal
289
	'>',		//greater
290
	'?',		//question
291
292
	'@',		//at
293
	'A',		//A
294
	'B',		//B
295
	'C',		//C
296
	'D',		//D
297
	'E',		//E
298
	'F',		//F
299
	'G',		//G
300
	'H',		//H
301
	'I',		//I
302
	'J',		//J
303
	'K',		//K
304
	'L',		//L
305
	'M',		//M
306
	'N',		//N
307
	'O',		//O
308
309
	'P',		//P
310
	'Q',		//Q
311
	'R',		//R
312
	'S',		//S
313
	'T',		//T
314
	'U',		//U
315
	'V',		//V
316
	'W',		//W
317
	'X',		//X
318
	'Y',		//Y
319
	'Z',		//Z
320
	'\u005b',	//bracketleft
321
	'\\',		//backslash
322
	'\u005d',	//bracketright
323
	'^',		//asciicircum
324
	'_',		//underscore
325
326
	'\u0060',	//grave
327
	'a',		//a
328
	'b',		//b
329
	'c',		//c
330
	'd',		//d
331
	'e',		//e
332
	'f',		//f
333
	'g',		//g
334
	'h',		//h
335
	'i',		//i
336
	'j',		//j
337
	'k',		//k
338
	'l',		//l
339
	'm',		//m
340
	'n',		//n
341
	'o',		//o
342
343
	'p',		//p
344
	'q',		//q
345
	'r',		//r
346
	's',		//s
347
	't',		//t
348
	'u',		//u
349
	'v',		//v
350
	'w',		//w
351
	'x',		//x
352
	'y',		//y
353
	'z',		//z
354
	'\u007b',	//braceleft
355
	'\u007c',	//bar
356
	'\u007d',	//braceright
357
	'\u007e',	//asciitilde
358
	0,
359
360
	'\u0402',	//afii10051
361
	'\u0403',	//afii10052
362
	'\u201a',	//quotesinglebase
363
	'\u0453',	//afii10100
364
	'\u201e',	//quotedblbase
365
	'\u2026',	//ellipsis
366
	'\u2020',	//dagger
367
	'\u2021',	//daggerdbl
368
	'\u20ac',	//euro
369
	'\u2030',	//perthousand
370
	'\u0409',	//afii10058
371
	'\u2039',	//guilsignlleft
372
	'\u040a',	//afii10059
373
	'\u040c',	//afii10061
374
	'\u040b',	//afii10060
375
	'\u040f',	//afii10045
376
377
	'\u0452',	//afii10099
378
	'\u2018',	//quoteleft
379
	'\u2019',	//quoteright
380
	'\u201c',	//quotedblleft
381
	'\u201d',	//quotedblright
382
	'\u2022',	//bullet
383
	'\u2013',	//endash
384
	'\u2014',	//emdash
385
	0,
386
	'\u2122',	//trademark
387
	'\u0459',	//afii10106
388
	'\u203a',	//guilsinglright
389
	'\u045a',	//afii10107
390
	'\u045c',	//afii10109
391
	'\u045b',	//afii10108
392
	'\u045f',	//afii10193
393
394
	'\u00a0',	//nbspace
395
	'\u040e',	//afii10062
396
	'\u045e',	//afii10110
397
	'\u0408',	//afii10057
398
	'\u00a4',	//currency
399
	'\u0490',	//afii10050
400
	'\u00a6',	//brokenbar
401
	'\u00a7',	//section
402
	'\u0401',	//afii10023
403
	'\u00a9',	//copyright
404
	'\u0404',	//afii10053
405
	'\u00ab',	//guillemotleft
406
	'\u00ac',	//logicalnot
407
	'\u00ad',	//softhyphen
408
	'\u00ae',	//registered
409
	'\u0407',	//afii10056
410
411
	'\u00b0',	//degree
412
	'\u00b1',	//plusminus
413
	'\u0406',	//afii10055
414
	'\u0456',	//afii10103
415
	'\u0491',	//afii10098
416
	'\u00b5',	//mu
417
	'\u00b6',	//paragraph
418
	'\u00b7',	//periodcentered
419
	'\u0451',	//afii10071
420
	'\u2116',	//afii61352
421
	'\u0454',	//afii10101
422
	'\u00bb',	//guillemotright
423
	'\u0458',	//afii10105
424
	'\u0405',	//afii10054
425
	'\u0455',	//afii10102
426
	'\u0457',	//afii10104
427
428
	'\u0410',	//afii10017
429
	'\u0411',	//afii10018
430
	'\u0412',	//afii10019
431
	'\u0413',	//afii10020
432
	'\u0414',	//afii10021
433
	'\u0415',	//afii10022
434
	'\u0416',	//afii10024
435
	'\u0417',	//afii10025
436
	'\u0418',	//afii10026
437
	'\u0419',	//afii10027
438
	'\u041a',	//afii10028
439
	'\u041b',	//afii10029
440
	'\u041c',	//afii10030
441
	'\u041d',	//afii10031
442
	'\u041e',	//afii10032
443
	'\u041f',	//afii10033
444
445
	'\u0420',	//afii10034
446
	'\u0421',	//afii10035
447
	'\u0422',	//afii10036
448
	'\u0423',	//afii10037
449
	'\u0424',	//afii10038
450
	'\u0425',	//afii10039
451
	'\u0426',	//afii10040
452
	'\u0427',	//afii10041
453
	'\u0428',	//afii10042
454
	'\u0429',	//afii10043
455
	'\u042a',	//afii10044
456
	'\u042b',	//afii10045
457
	'\u042c',	//afii10046
458
	'\u042d',	//afii10047
459
	'\u042e',	//afii10048
460
	'\u042f',	//afii10049
461
462
	'\u0430',	//afii10065
463
	'\u0431',	//afii10066
464
	'\u0432',	//afii10067
465
	'\u0433',	//afii10068
466
	'\u0434',	//afii10069
467
	'\u0435',	//afii10070
468
	'\u0436',	//afii10072
469
	'\u0437',	//afii10073
470
	'\u0438',	//afii10074
471
	'\u0439',	//afii10075
472
	'\u043a',	//afii10076
473
	'\u043b',	//afii10077
474
	'\u043c',	//afii10078
475
	'\u043d',	//afii10079
476
	'\u043e',	//afii10080
477
	'\u043f',	//afii10081
478
479
	'\u0440',	//afii10082
480
	'\u0441',	//afii10083
481
	'\u0442',	//afii10084
482
	'\u0443',	//afii10085
483
	'\u0444',	//afii10086
484
	'\u0445',	//afii10087
485
	'\u0446',	//afii10088
486
	'\u0447',	//afii10089
487
	'\u0448',	//afii10090
488
	'\u0449',	//afii10091
489
	'\u044a',	//afii10092
490
	'\u044b',	//afii10093
491
	'\u044c',	//afii10094
492
	'\u044d',	//afii10095
493
	'\u044e',	//afii10096
494
	'\u044f',	//afii10097
495
    };
496
497
    /**
222
     * List of unicode glyphs
498
     * List of unicode glyphs
223
     */
499
     */
224
    private static final String[] UNICODE_GLYPHS;
500
    private static final String[] UNICODE_GLYPHS;
Lines 273-278 Link Here
273
        addAlternatives(map, new String[] {"cent", "centoldstyle"});
549
        addAlternatives(map, new String[] {"cent", "centoldstyle"});
274
        addAlternatives(map, new String[] {"dollar", "dollaroldstyle"});
550
        addAlternatives(map, new String[] {"dollar", "dollaroldstyle"});
275
551
552
	//Cyrillic names according Adobe Techninal Note #5013 aka Adobe Standard Cyrillic Font Specification
553
        addAlternatives(map, new String[] {"Acyrillic",		"afii10017"});
554
        addAlternatives(map, new String[] {"Becyrillic",	"afii10018"});
555
        addAlternatives(map, new String[] {"Vecyrillic",	"afii10019"});
556
        addAlternatives(map, new String[] {"Gecyrillic",	"afii10020"});
557
        addAlternatives(map, new String[] {"Decyrillic",	"afii10021"});
558
        addAlternatives(map, new String[] {"Iecyrillic",	"afii10022"});
559
        addAlternatives(map, new String[] {"Iocyrillic",	"afii10023"});
560
        addAlternatives(map, new String[] {"Zhecyrillic",	"afii10024"});
561
        addAlternatives(map, new String[] {"Zecyrillic",	"afii10025"});
562
        addAlternatives(map, new String[] {"Iicyrillic",	"afii10026"});
563
        addAlternatives(map, new String[] {"Iishortcyrillic",	"afii10027"});
564
        addAlternatives(map, new String[] {"Kacyrillic",	"afii10028"});
565
        addAlternatives(map, new String[] {"Elcyrillic",	"afii10029"});
566
        addAlternatives(map, new String[] {"Emcyrillic",	"afii10030"});
567
        addAlternatives(map, new String[] {"Encyrillic",	"afii10031"});
568
        addAlternatives(map, new String[] {"Ocyrillic",		"afii10032"});
569
        addAlternatives(map, new String[] {"Pecyrillic",	"afii10033"});
570
        addAlternatives(map, new String[] {"Ercyrillic",	"afii10034"});
571
        addAlternatives(map, new String[] {"Escyrillic",	"afii10035"});
572
        addAlternatives(map, new String[] {"Tecyrillic",	"afii10036"});
573
        addAlternatives(map, new String[] {"Ucyrillic",		"afii10037"});
574
        addAlternatives(map, new String[] {"Efcyrillic",	"afii10038"});
575
        addAlternatives(map, new String[] {"Khacyrillic",	"afii10039"});
576
        addAlternatives(map, new String[] {"Tsecyrillic",	"afii10040"});
577
        addAlternatives(map, new String[] {"Checyrillic",	"afii10041"});
578
        addAlternatives(map, new String[] {"Shacyrillic",	"afii10042"});
579
        addAlternatives(map, new String[] {"Shchacyrillic",	"afii10043"});
580
        addAlternatives(map, new String[] {"Hardsigncyrillic",	"afii10044"});
581
        addAlternatives(map, new String[] {"Yericyrillic",	"afii10045"});
582
        addAlternatives(map, new String[] {"Softsigncyrillic",	"afii10046"});
583
        addAlternatives(map, new String[] {"Ereversedcyrillic",	"afii10047"});
584
        addAlternatives(map, new String[] {"IUcyrillic",	"afii10048"});
585
        addAlternatives(map, new String[] {"IAcyrillic",	"afii10049"});
586
587
        addAlternatives(map, new String[] {"acyrillic",		"afii10065"});
588
        addAlternatives(map, new String[] {"becyrillic",	"afii10066"});
589
        addAlternatives(map, new String[] {"vecyrillic",	"afii10067"});
590
        addAlternatives(map, new String[] {"gecyrillic",	"afii10068"});
591
        addAlternatives(map, new String[] {"decyrillic",	"afii10069"});
592
        addAlternatives(map, new String[] {"iecyrillic",	"afii10070"});
593
        addAlternatives(map, new String[] {"iocyrillic",	"afii10071"});
594
        addAlternatives(map, new String[] {"zhecyrillic",	"afii10072"});
595
        addAlternatives(map, new String[] {"zecyrillic",	"afii10073"});
596
        addAlternatives(map, new String[] {"iicyrillic",	"afii10074"});
597
        addAlternatives(map, new String[] {"iishortcyrillic",	"afii10075"});
598
        addAlternatives(map, new String[] {"kacyrillic",	"afii10076"});
599
        addAlternatives(map, new String[] {"elcyrillic",	"afii10077"});
600
        addAlternatives(map, new String[] {"emcyrillic",	"afii10078"});
601
        addAlternatives(map, new String[] {"encyrillic",	"afii10079"});
602
        addAlternatives(map, new String[] {"ocyrillic",		"afii10080"});
603
        addAlternatives(map, new String[] {"pecyrillic",	"afii10081"});
604
        addAlternatives(map, new String[] {"ercyrillic",	"afii10082"});
605
        addAlternatives(map, new String[] {"escyrillic",	"afii10083"});
606
        addAlternatives(map, new String[] {"tecyrillic",	"afii10084"});
607
        addAlternatives(map, new String[] {"ucyrillic",		"afii10085"});
608
        addAlternatives(map, new String[] {"efcyrillic",	"afii10086"});
609
        addAlternatives(map, new String[] {"khacyrillic",	"afii10087"});
610
        addAlternatives(map, new String[] {"tsecyrillic",	"afii10088"});
611
        addAlternatives(map, new String[] {"checyrillic",	"afii10089"});
612
        addAlternatives(map, new String[] {"shacyrillic",	"afii10090"});
613
        addAlternatives(map, new String[] {"shchacyrillic",	"afii10091"});
614
        addAlternatives(map, new String[] {"hardsigncyrillic",	"afii10092"});
615
        addAlternatives(map, new String[] {"yericyrillic",	"afii10093"});
616
        addAlternatives(map, new String[] {"softsigncyrillic",	"afii10094"});
617
        addAlternatives(map, new String[] {"ereversedcyrillic",	"afii10095"});
618
        addAlternatives(map, new String[] {"iucyrillic",	"afii10096"});
619
        addAlternatives(map, new String[] {"iacyrillic",	"afii10097"});
620
621
        addAlternatives(map, new String[] {"Gheupturncyrillic",	"afii10050"});
622
        addAlternatives(map, new String[] {"Djecyrillic",	"afii10051"});
623
        addAlternatives(map, new String[] {"Gjecyrillic",	"afii10052"});
624
        addAlternatives(map, new String[] {"Ecyrillic",		"afii10053"});
625
        addAlternatives(map, new String[] {"Dzecyrillic",	"afii10054"});
626
        addAlternatives(map, new String[] {"Icyrillic",		"afii10055"});
627
        addAlternatives(map, new String[] {"Yicyrillic",	"afii10056"});
628
        addAlternatives(map, new String[] {"Jecyrillic",	"afii10057"});
629
        addAlternatives(map, new String[] {"Ljecyrillic",	"afii10058"});
630
        addAlternatives(map, new String[] {"Njecyrillic",	"afii10059"});
631
        addAlternatives(map, new String[] {"Tshecyrillic",	"afii10060"});
632
        addAlternatives(map, new String[] {"Kjecyrillic",	"afii10061"});
633
        addAlternatives(map, new String[] {"Ushortcyrillic",	"afii10062"});
634
635
        addAlternatives(map, new String[] {"Dzhecyrillic",	"afii10145"});
636
        addAlternatives(map, new String[] {"Yatcyrillic",	"afii10146"});
637
        addAlternatives(map, new String[] {"Fitacyrillic",	"afii10147"});
638
        addAlternatives(map, new String[] {"Izhitsacyrillic",	"afii10148"});
639
640
        addAlternatives(map, new String[] {"gheupturncyrillic",	"afii10098"});
641
        addAlternatives(map, new String[] {"djecyrillic",	"afii10099"});
642
        addAlternatives(map, new String[] {"gjecyrillic",	"afii10100"});	
643
        addAlternatives(map, new String[] {"ecyrillic",		"afii10101"});
644
        addAlternatives(map, new String[] {"dzecyrillic",	"afii10102"});
645
        addAlternatives(map, new String[] {"icyrillic",		"afii10103"});
646
        addAlternatives(map, new String[] {"yicyrillic",	"afii10104"});
647
        addAlternatives(map, new String[] {"jecyrillic",	"afii10105"});
648
        addAlternatives(map, new String[] {"ljecyrillic",	"afii10106"});
649
        addAlternatives(map, new String[] {"njecyrillic",	"afii10107"});
650
        addAlternatives(map, new String[] {"tshecyrillic",	"afii10108"});
651
        addAlternatives(map, new String[] {"kjecyrillic",	"afii10109"});
652
        addAlternatives(map, new String[] {"ushortcyrillic",	"afii10110"});
653
654
        addAlternatives(map, new String[] {"dzhecyrillic",	"afii10193"});
655
        addAlternatives(map, new String[] {"yatcyrillic",	"afii10194"});
656
        addAlternatives(map, new String[] {"fitacyrillic",	"afii10195"});
657
        addAlternatives(map, new String[] {"izhitsacyrillic",	"afii10196"});
658
276
        CHARNAME_ALTERNATIVES = Collections.unmodifiableMap(map);
659
        CHARNAME_ALTERNATIVES = Collections.unmodifiableMap(map);
277
    }
660
    }
278
661
Lines 475-478 Link Here
475
    }
858
    }
476
859
477
}
860
}
478

Return to bug 48395