1 /* -*- Mode: Java; tab-width: 4; c-basic-offset: 4 -*- */
2 /*
3  * $Id: PdfName.java,v 1.74 2005/07/15 13:04:21 blowagie Exp $
4  * $Name:  $
5  *
6  * Copyright 1999-2006 Bruno Lowagie
7  *
8  *
9  * The Original Code is 'iText, a free JAVA-PDF library'.
10  *
11  * The Initial Developer of the Original Code is Bruno Lowagie. Portions created by
12  * the Initial Developer are Copyright (C) 1999, 2000, 2001, 2002 by Bruno Lowagie.
13  * All Rights Reserved.
14  * Co-Developer of the code is Paulo Soares. Portions created by the Co-Developer
15  * are Copyright (C) 2000, 2001, 2002 by Paulo Soares. All Rights Reserved.
16  *
17  * Contributor(s): all the names of the contributors are added in the source code
18  * where applicable.
19  *
20  *
21  * This library is free software; you can redistribute it and/or
22  * modify it under the terms of the GNU Library General Public
23  * License as published by the Free Software Foundation; either
24  * version 2 of the License, or (at your option) any later version.
25  *
26  * This library is distributed in the hope that it will be useful,
27  * but WITHOUT ANY WARRANTY; without even the implied warranty of
28  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
29  * Library General Public License for more details.
30  *
31  * You should have received a copy of the GNU Library General Public
32  * License along with this library; if not, write to the
33  * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
34  * Boston, MA  02110-1301, USA.
35  *
36  *
37  * This library is free software; you can redistribute it and/or
38  * modify it under the terms of the GNU Library General Public
39  * License as published by the Free Software Foundation; either
40  * version 2 of the License, or (at your option) any later version.
41  *
42  * This library is distributed in the hope that it will be useful,
43  * but WITHOUT ANY WARRANTY; without even the implied warranty of
44  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
45  * Library General Public License for more details.
46  *
47  * You should have received a copy of the GNU Library General Public
48  * License along with this library; if not, write to the
49  * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
50  * Boston, MA  02110-1301, USA.
51  *
52  *
53  * If you didn't download this code from the following link, you should check if
54  * you aren't using an obsolete version:
55  * http://www.lowagie.com/iText/
56  */
57 
58 package com.gitlab.pdftk_java.com.lowagie.text.pdf;
59 
60 import java.lang.reflect.Field;
61 import java.lang.reflect.Modifier;
62 import java.util.*;
63 
64 /**
65  * <CODE>PdfName</CODE> is an object that can be used as a name in a PDF-file.
66  * <P>
67  * A name, like a string, is a sequence of characters.
68  * It must begin with a slash followed by a sequence of ASCII characters in
69  * the range 32 through 136 except %, (, ), [, ], &lt;, &gt;, {, }, / and #.
70  * Any character except 0x00 may be included in a name by writing its
71  * two character hex code, preceded by #. The maximum number of characters
72  * in a name is 127.<BR>
73  * This object is described in the 'Portable Document Format Reference Manual
74  * version 1.7' section 3.2.4 (page 56-58).
75  * <P>
76  *
77  * @see		PdfObject
78  * @see		PdfDictionary
79  * @see		BadPdfFormatException
80  */
81 
82 public class PdfName extends PdfObject implements Comparable{
83 
84     // CLASS CONSTANTS (a variety of standard names used in PDF))
85     /**
86      * A name.
87      * @since 2.1.6
88      */
89     public static final PdfName _3D = new PdfName("3D");
90     /** A name */
91     public static final PdfName A = new PdfName("A");
92     /** A name */
93     public static final PdfName AA = new PdfName("AA");
94     /**
95      * A name
96      * @since 2.1.5 renamed from ABSOLUTECALORIMETRIC
97      */
98     public static final PdfName ABSOLUTECOLORIMETRIC = new PdfName("AbsoluteColorimetric");
99     /** A name */
100     public static final PdfName AC = new PdfName("AC");
101     /** A name */
102     public static final PdfName ACROFORM = new PdfName("AcroForm");
103     /** A name */
104     public static final PdfName ACTION = new PdfName("Action");
105     /**
106      * A name.
107      * @since 2.1.6
108      */
109     public static final PdfName ACTIVATION = new PdfName("Activation");
110     /**
111      * A name.
112      * @since 2.1.6
113      */
114     public static final PdfName ADBE = new PdfName("ADBE");
115     /**
116      * a name used in PDF structure
117      * @since 2.1.6
118      */
119     public static final PdfName ACTUALTEXT = new PdfName("ActualText");
120     /** A name */
121     public static final PdfName ADBE_PKCS7_DETACHED = new PdfName("adbe.pkcs7.detached");
122     /** A name */
123     public static final PdfName ADBE_PKCS7_S4 =new PdfName("adbe.pkcs7.s4");
124     /** A name */
125     public static final PdfName ADBE_PKCS7_S5 =new PdfName("adbe.pkcs7.s5");
126     /** A name */
127     public static final PdfName ADBE_PKCS7_SHA1 = new PdfName("adbe.pkcs7.sha1");
128     /** A name */
129     public static final PdfName ADBE_X509_RSA_SHA1 = new PdfName("adbe.x509.rsa_sha1");
130     /** A name */
131     public static final PdfName ADOBE_PPKLITE = new PdfName("Adobe.PPKLite");
132     /** A name */
133     public static final PdfName ADOBE_PPKMS = new PdfName("Adobe.PPKMS");
134     /** A name */
135     public static final PdfName AESV2 = new PdfName("AESV2");
136     /** A name */
137     public static final PdfName AIS = new PdfName("AIS");
138     /** A name */
139     public static final PdfName ALLPAGES = new PdfName("AllPages");
140     /** A name */
141     public static final PdfName ALT = new PdfName("Alt");
142     /** A name */
143     public static final PdfName ALTERNATE = new PdfName("Alternate");
144     /**
145      * A name.
146      * @since 2.1.6
147      */
148     public static final PdfName ANIMATION = new PdfName("Animation");
149     /** A name */
150     public static final PdfName ANNOT = new PdfName("Annot");
151     /** A name */
152     public static final PdfName ANNOTS = new PdfName("Annots");
153     /** A name */
154     public static final PdfName ANTIALIAS = new PdfName("AntiAlias");
155     /** A name */
156     public static final PdfName AP = new PdfName("AP");
157     /** A name */
158     public static final PdfName APPDEFAULT = new PdfName("AppDefault");
159     /**
160      * A name
161      * @since 2.1.6
162      */
163     public static final PdfName ART = new PdfName("Art");
164     /** A name */
165     public static final PdfName ARTBOX = new PdfName("ArtBox");
166     /** A name */
167     public static final PdfName ASCENT = new PdfName("Ascent");
168     /** A name */
169     public static final PdfName AS = new PdfName("AS");
170     /** A name */
171     public static final PdfName ASCII85DECODE = new PdfName("ASCII85Decode");
172     /** A name */
173     public static final PdfName ASCIIHEXDECODE = new PdfName("ASCIIHexDecode");
174     /**
175      * A name.
176      * @since 2.1.6
177      */
178     public static final PdfName ASSET = new PdfName("Asset");
179     /**
180      * A name.
181      * @since 2.1.6
182      */
183     public static final PdfName ASSETS = new PdfName("Assets");
184     /** A name */
185     public static final PdfName AUTHEVENT = new PdfName("AuthEvent");
186     /** A name */
187     public static final PdfName AUTHOR = new PdfName("Author");
188     /** A name */
189     public static final PdfName B = new PdfName("B");
190     /**
191      * A name
192      * @since	2.1.6
193      */
194     public static final PdfName BACKGROUND = new PdfName("Background");
195     /** A name */
196     public static final PdfName BASE = new PdfName("Base"); // used in the URI dictionary
197     /** A name */
198     public static final PdfName BASEENCODING = new PdfName("BaseEncoding");
199     /** A name */
200     public static final PdfName BASEFONT = new PdfName("BaseFont");
201     /**
202      * A name
203      * @since	2.1.6
204      */
205     public static final PdfName BASEVERSION = new PdfName("BaseVersion");
206     /** A name */
207     public static final PdfName BBOX = new PdfName("BBox");
208     /** A name */
209     public static final PdfName BC = new PdfName("BC");
210     /** A name */
211     public static final PdfName BG = new PdfName("BG");
212     /**
213      * A name
214      * @since 2.1.6
215      */
216     public static final PdfName BIBENTRY = new PdfName("BibEntry");
217     /** A name */
218     public static final PdfName BIGFIVE = new PdfName("BigFive");
219     /**
220      * A name.
221      * @since 2.1.6
222      */
223     public static final PdfName BINDING = new PdfName("Binding");
224     /**
225      * A name.
226      * @since 2.1.6
227      */
228     public static final PdfName BINDINGMATERIALNAME = new PdfName("BindingMaterialName");
229     /** A name */
230     public static final PdfName BITSPERCOMPONENT = new PdfName("BitsPerComponent");
231     /** A name */
232     public static final PdfName BITSPERSAMPLE = new PdfName("BitsPerSample");
233     /** A name */
234     public static final PdfName BL = new PdfName("Bl");
235     /** A name */
236     public static final PdfName BLACKIS1 = new PdfName("BlackIs1");
237     /** A name */
238     public static final PdfName BLACKPOINT = new PdfName("BlackPoint");
239     /**
240      * A name
241      * @since 2.1.6
242      */
243     public static final PdfName BLOCKQUOTE = new PdfName("BlockQuote");
244     /** A name */
245     public static final PdfName BLEEDBOX = new PdfName("BleedBox");
246     /** A name */
247     public static final PdfName BLINDS = new PdfName("Blinds");
248     /** A name */
249     public static final PdfName BM = new PdfName("BM");
250     /** A name */
251     public static final PdfName BORDER = new PdfName("Border");
252     /** A name */
253     public static final PdfName BOUNDS = new PdfName("Bounds");
254     /** A name */
255     public static final PdfName BOX = new PdfName("Box");
256     /** A name */
257     public static final PdfName BS = new PdfName("BS");
258     /** A name */
259     public static final PdfName BTN = new PdfName("Btn");
260     /** A name */
261     public static final PdfName BYTERANGE = new PdfName("ByteRange");
262     /** A name */
263     public static final PdfName C = new PdfName("C");
264     /** A name */
265     public static final PdfName C0 = new PdfName("C0");
266     /** A name */
267     public static final PdfName C1 = new PdfName("C1");
268     /** A name */
269     public static final PdfName CA = new PdfName("CA");
270     /** A name */
271     public static final PdfName ca = new PdfName("ca");
272     /** A name */
273     public static final PdfName CALGRAY = new PdfName("CalGray");
274     /** A name */
275     public static final PdfName CALRGB = new PdfName("CalRGB");
276     /** A name */
277     public static final PdfName CAPHEIGHT = new PdfName("CapHeight");
278     /**
279      * A name
280      * @since 2.1.6
281      */
282     public static final PdfName CAPTION = new PdfName("Caption");
283     /** A name */
284     public static final PdfName CATALOG = new PdfName("Catalog");
285     /** A name */
286     public static final PdfName CATEGORY = new PdfName("Category");
287     /** A name */
288     public static final PdfName CCITTFAXDECODE = new PdfName("CCITTFaxDecode");
289     /**
290      * A name.
291      * @since 2.1.6
292      */
293     public static final PdfName CENTER = new PdfName("Center");
294     /** A name */
295     public static final PdfName CENTERWINDOW = new PdfName("CenterWindow");
296     /** A name */
297     public static final PdfName CERT = new PdfName("Cert");
298     /** A name */
299     public static final PdfName CF = new PdfName("CF");
300     /** A name */
301     public static final PdfName CFM = new PdfName("CFM");
302     /** A name */
303     public static final PdfName CH = new PdfName("Ch");
304     /** A name */
305     public static final PdfName CHARPROCS = new PdfName("CharProcs");
306     /** A name */
307     public static final PdfName CHECKSUM = new PdfName("CheckSum");
308     /** A name */
309     public static final PdfName CI = new PdfName("CI");
310     /** A name */
311     public static final PdfName CIDFONTTYPE0 = new PdfName("CIDFontType0");
312     /** A name */
313     public static final PdfName CIDFONTTYPE2 = new PdfName("CIDFontType2");
314     /**
315      * A name
316      * @since 2.0.7
317      */
318     public static final PdfName CIDSET = new PdfName("CIDSet");
319     /** A name */
320     public static final PdfName CIDSYSTEMINFO = new PdfName("CIDSystemInfo");
321     /** A name */
322     public static final PdfName CIDTOGIDMAP = new PdfName("CIDToGIDMap");
323     /** A name */
324     public static final PdfName CIRCLE = new PdfName("Circle");
325     /**
326      * A name.
327      * @since 2.1.6
328      */
329     public static final PdfName CMD = new PdfName("CMD");
330     /** A name */
331     public static final PdfName CO = new PdfName("CO");
332     /**
333      * A name
334      * @since 2.1.6
335      */
336     public static final PdfName CODE = new PdfName("Code");
337     /** A name */
338     public static final PdfName COLORS = new PdfName("Colors");
339     /** A name */
340     public static final PdfName COLORSPACE = new PdfName("ColorSpace");
341     /** A name */
342     public static final PdfName COLLECTION = new PdfName("Collection");
343     /** A name */
344     public static final PdfName COLLECTIONFIELD = new PdfName("CollectionField");
345     /** A name */
346     public static final PdfName COLLECTIONITEM = new PdfName("CollectionItem");
347     /** A name */
348     public static final PdfName COLLECTIONSCHEMA = new PdfName("CollectionSchema");
349     /** A name */
350     public static final PdfName COLLECTIONSORT = new PdfName("CollectionSort");
351     /** A name */
352     public static final PdfName COLLECTIONSUBITEM = new PdfName("CollectionSubitem");
353     /** A name */
354     public static final PdfName COLUMNS = new PdfName("Columns");
355     /**
356      * A name.
357      * @since 2.1.6
358      */
359     public static final PdfName CONDITION = new PdfName("Condition");
360     /**
361      * A name.
362      * @since 2.1.6
363      */
364     public static final PdfName CONFIGURATION = new PdfName("Configuration");
365     /**
366      * A name.
367      * @since 2.1.6
368      */
369     public static final PdfName CONFIGURATIONS = new PdfName("Configurations");
370     /** A name */
371     public static final PdfName CONTACTINFO = new PdfName("ContactInfo");
372     /** A name */
373     public static final PdfName CONTENT = new PdfName("Content");
374     /** A name */
375     public static final PdfName CONTENTS = new PdfName("Contents");
376     /** A name */
377     public static final PdfName COORDS = new PdfName("Coords");
378     /** A name */
379     public static final PdfName COUNT = new PdfName("Count");
380     /** A name of a base 14 type 1 font */
381     public static final PdfName COURIER = new PdfName("Courier");
382     /** A name of a base 14 type 1 font */
383     public static final PdfName COURIER_BOLD = new PdfName("Courier-Bold");
384     /** A name of a base 14 type 1 font */
385     public static final PdfName COURIER_OBLIQUE = new PdfName("Courier-Oblique");
386     /** A name of a base 14 type 1 font */
387     public static final PdfName COURIER_BOLDOBLIQUE = new PdfName("Courier-BoldOblique");
388     /** A name */
389     public static final PdfName CREATIONDATE = new PdfName("CreationDate");
390     /** A name */
391     public static final PdfName CREATOR = new PdfName("Creator");
392     /** A name */
393     public static final PdfName CREATORINFO = new PdfName("CreatorInfo");
394     /** A name */
395     public static final PdfName CROPBOX = new PdfName("CropBox");
396     /** A name */
397     public static final PdfName CRYPT = new PdfName("Crypt");
398     /** A name */
399     public static final PdfName CS = new PdfName("CS");
400     /**
401      * A name.
402      * @since 2.1.6
403      */
404     public static final PdfName CUEPOINT = new PdfName("CuePoint");
405     /**
406      * A name.
407      * @since 2.1.6
408      */
409     public static final PdfName CUEPOINTS = new PdfName("CuePoints");
410     /** A name */
411     public static final PdfName D = new PdfName("D");
412     /** A name */
413     public static final PdfName DA = new PdfName("DA");
414     /** A name */
415     public static final PdfName DATA = new PdfName("Data");
416     /** A name */
417     public static final PdfName DC = new PdfName("DC");
418     /** A name */
419     public static final PdfName DCTDECODE = new PdfName("DCTDecode");
420     /**
421      * A name.
422      * @since 2.1.6
423      */
424     public static final PdfName DEACTIVATION = new PdfName("Deactivation");
425     /** A name */
426     public static final PdfName DECODE = new PdfName("Decode");
427     /** A name */
428     public static final PdfName DECODEPARMS = new PdfName("DecodeParms");
429     /**
430      * A name
431      * @since	2.1.6
432      */
433     public static final PdfName DEFAULT = new PdfName("Default");
434     /**
435      * A name
436      * @since	2.1.5 renamed from DEFAULTCRYPTFILER
437      */
438     public static final PdfName DEFAULTCRYPTFILTER = new PdfName("DefaultCryptFilter");
439     /** A name */
440     public static final PdfName DEFAULTCMYK = new PdfName("DefaultCMYK");
441     /** A name */
442     public static final PdfName DEFAULTGRAY = new PdfName("DefaultGray");
443     /** A name */
444     public static final PdfName DEFAULTRGB = new PdfName("DefaultRGB");
445     /** A name */
446     public static final PdfName DESC = new PdfName("Desc");
447     /** A name */
448     public static final PdfName DESCENDANTFONTS = new PdfName("DescendantFonts");
449     /** A name */
450     public static final PdfName DESCENT = new PdfName("Descent");
451     /** A name */
452     public static final PdfName DEST = new PdfName("Dest");
453     /** A name */
454     public static final PdfName DESTOUTPUTPROFILE = new PdfName("DestOutputProfile");
455     /** A name */
456     public static final PdfName DESTS = new PdfName("Dests");
457     /** A name */
458     public static final PdfName DEVICEGRAY = new PdfName("DeviceGray");
459     /** A name */
460     public static final PdfName DEVICERGB = new PdfName("DeviceRGB");
461     /** A name */
462     public static final PdfName DEVICECMYK = new PdfName("DeviceCMYK");
463     /** A name */
464     public static final PdfName DI = new PdfName("Di");
465     /** A name */
466     public static final PdfName DIFFERENCES = new PdfName("Differences");
467     /** A name */
468     public static final PdfName DISSOLVE = new PdfName("Dissolve");
469     /** A name */
470     public static final PdfName DIRECTION = new PdfName("Direction");
471     /** A name */
472     public static final PdfName DISPLAYDOCTITLE = new PdfName("DisplayDocTitle");
473     /** A name */
474     public static final PdfName DIV = new PdfName("Div");
475     /** A name */
476     public static final PdfName DL = new PdfName("DL");
477     /** A name */
478     public static final PdfName DM = new PdfName("Dm");
479     /** A name */
480     public static final PdfName DOCMDP = new PdfName("DocMDP");
481     /** A name */
482     public static final PdfName DOCOPEN = new PdfName("DocOpen");
483     /**
484      * A name.
485      * @since 2.1.6
486      */
487     public static final PdfName DOCUMENT = new PdfName( "Document" );
488     /** A name */
489     //public static final PdfName DOMAIN = new PdfName("Domain");
490     // changed this member name to prevent confusion on gcj (ssteward)
491     public static final PdfName m_DOMAIN = new PdfName("Domain");
492     /** A name */
493     public static final PdfName DP = new PdfName("DP");
494     /** A name */
495     public static final PdfName DR = new PdfName("DR");
496     /** A name */
497     public static final PdfName DS = new PdfName("DS");
498     /** A name */
499     public static final PdfName DUR = new PdfName("Dur");
500     /** A name */
501     public static final PdfName DUPLEX = new PdfName("Duplex");
502     /** A name */
503     public static final PdfName DUPLEXFLIPSHORTEDGE = new PdfName("DuplexFlipShortEdge");
504     /** A name */
505     public static final PdfName DUPLEXFLIPLONGEDGE = new PdfName("DuplexFlipLongEdge");
506     /** A name */
507     public static final PdfName DV = new PdfName("DV");
508     /** A name */
509     public static final PdfName DW = new PdfName("DW");
510     /** A name */
511     public static final PdfName E = new PdfName("E");
512     /** A name */
513     public static final PdfName EARLYCHANGE = new PdfName("EarlyChange");
514     /** A name */
515     public static final PdfName EF = new PdfName("EF");
516     /**
517      * A name
518      * @since	2.1.3
519      */
520     public static final PdfName EFF = new PdfName("EFF");
521     /**
522      * A name
523      * @since	2.1.3
524      */
525     public static final PdfName EFOPEN = new PdfName("EFOpen");
526     /**
527      * A name
528      * @since	2.1.6
529      */
530     public static final PdfName EMBEDDED = new PdfName("Embedded");
531     /** A name */
532     public static final PdfName EMBEDDEDFILE = new PdfName("EmbeddedFile");
533     /** A name */
534     public static final PdfName EMBEDDEDFILES = new PdfName("EmbeddedFiles");
535     /** A name */
536     public static final PdfName ENCODE = new PdfName("Encode");
537     /** A name */
538     public static final PdfName ENCODEDBYTEALIGN = new PdfName("EncodedByteAlign");
539     /** A name */
540     public static final PdfName ENCODING = new PdfName("Encoding");
541     /** A name */
542     public static final PdfName ENCRYPT = new PdfName("Encrypt");
543     /** A name */
544     public static final PdfName ENCRYPTMETADATA = new PdfName("EncryptMetadata");
545     /** A name */
546     public static final PdfName ENDOFBLOCK = new PdfName("EndOfBlock");
547     /** A name */
548     public static final PdfName ENDOFLINE = new PdfName("EndOfLine");
549     /** A name */
550     public static final PdfName EXTEND = new PdfName("Extend");
551     /**
552      * A name
553      * @since	2.1.6
554      */
555     public static final PdfName EXTENSIONS = new PdfName("Extensions");
556     /**
557      * A name
558      * @since	2.1.6
559      */
560     public static final PdfName EXTENSIONLEVEL = new PdfName("ExtensionLevel");
561     /** A name */
562     public static final PdfName EXTGSTATE = new PdfName("ExtGState");
563     /** A name */
564     public static final PdfName EXPORT = new PdfName("Export");
565     /** A name */
566     public static final PdfName EXPORTSTATE = new PdfName("ExportState");
567     /** A name */
568     public static final PdfName EVENT = new PdfName("Event");
569     /** A name */
570     public static final PdfName F = new PdfName("F");
571     /**
572      * A name.
573      * @since 2.1.6
574      */
575     public static final PdfName FAR = new PdfName("Far");
576     /** A name */
577     public static final PdfName FB = new PdfName("FB");
578     /** A name */
579     public static final PdfName FDECODEPARMS = new PdfName("FDecodeParms");
580     /** A name */
581     public static final PdfName FDF = new PdfName("FDF");
582     /** A name */
583     public static final PdfName FF = new PdfName("Ff");
584     /** A name */
585     public static final PdfName FFILTER = new PdfName("FFilter");
586     /** A name */
587     public static final PdfName FIELDS = new PdfName("Fields");
588     /**
589      * A name
590      * @since 2.1.6
591      */
592     public static final PdfName FIGURE = new PdfName( "Figure" );
593     /** A name */
594     public static final PdfName FILEATTACHMENT = new PdfName("FileAttachment");
595     /** A name */
596     public static final PdfName FILESPEC = new PdfName("Filespec");
597     /** A name */
598     public static final PdfName FILTER = new PdfName("Filter");
599     /** A name */
600     public static final PdfName FIRST = new PdfName("First");
601     /** A name */
602     public static final PdfName FIRSTCHAR = new PdfName("FirstChar");
603     /** A name */
604     public static final PdfName FIRSTPAGE = new PdfName("FirstPage");
605     /** A name */
606     public static final PdfName FIT = new PdfName("Fit");
607     /** A name */
608     public static final PdfName FITH = new PdfName("FitH");
609     /** A name */
610     public static final PdfName FITV = new PdfName("FitV");
611     /** A name */
612     public static final PdfName FITR = new PdfName("FitR");
613     /** A name */
614     public static final PdfName FITB = new PdfName("FitB");
615     /** A name */
616     public static final PdfName FITBH = new PdfName("FitBH");
617     /** A name */
618     public static final PdfName FITBV = new PdfName("FitBV");
619     /** A name */
620     public static final PdfName FITWINDOW = new PdfName("FitWindow");
621     /** A name */
622     public static final PdfName FLAGS = new PdfName("Flags");
623     /**
624      * A name.
625      * @since 2.1.6
626      */
627     public static final PdfName FLASH = new PdfName("Flash");
628     /**
629      * A name.
630      * @since 2.1.6
631      */
632     public static final PdfName FLASHVARS = new PdfName("FlashVars");
633     /** A name */
634     public static final PdfName FLATEDECODE = new PdfName("FlateDecode");
635     /** A name */
636     public static final PdfName FO = new PdfName("Fo");
637     /** A name */
638     public static final PdfName FONT = new PdfName("Font");
639     /** A name */
640     public static final PdfName FONTBBOX = new PdfName("FontBBox");
641     /** A name */
642     public static final PdfName FONTDESCRIPTOR = new PdfName("FontDescriptor");
643     /** A name */
644     public static final PdfName FONTFILE = new PdfName("FontFile");
645     /** A name */
646     public static final PdfName FONTFILE2 = new PdfName("FontFile2");
647     /** A name */
648     public static final PdfName FONTFILE3 = new PdfName("FontFile3");
649     /** A name */
650     public static final PdfName FONTMATRIX = new PdfName("FontMatrix");
651     /** A name */
652     public static final PdfName FONTNAME = new PdfName("FontName");
653     /**
654      * A name
655      * @since	2.1.6
656      */
657     public static final PdfName FOREGROUND = new PdfName("Foreground");
658     /** A name */
659     public static final PdfName FORM = new PdfName("Form");
660     /** A name */
661     public static final PdfName FORMTYPE = new PdfName("FormType");
662     /**
663      * A name
664      * @since 2.1.6
665      */
666     public static final PdfName FORMULA = new PdfName( "Formula" );
667     /** A name */
668     public static final PdfName FREETEXT = new PdfName("FreeText");
669     /** A name */
670     public static final PdfName FRM = new PdfName("FRM");
671     /** A name */
672     public static final PdfName FS = new PdfName("FS");
673     /** A name */
674     public static final PdfName FT = new PdfName("FT");
675     /** A name */
676     public static final PdfName FULLSCREEN = new PdfName("FullScreen");
677     /** A name */
678     public static final PdfName FUNCTION = new PdfName("Function");
679     /** A name */
680     public static final PdfName FUNCTIONS = new PdfName("Functions");
681     /** A name */
682     public static final PdfName FUNCTIONTYPE = new PdfName("FunctionType");
683     /** A name of an attribute. */
684     public static final PdfName GAMMA = new PdfName("Gamma");
685     /** A name of an attribute. */
686     public static final PdfName GBK = new PdfName("GBK");
687     /** A name of an attribute. */
688     public static final PdfName GLITTER = new PdfName("Glitter");
689     /** A name of an attribute. */
690     public static final PdfName GOTO = new PdfName("GoTo");
691     /** A name of an attribute. */
692     public static final PdfName GOTOE = new PdfName("GoToE");
693     /** A name of an attribute. */
694     public static final PdfName GOTOR = new PdfName("GoToR");
695     /** A name of an attribute. */
696     public static final PdfName GROUP = new PdfName("Group");
697     /** A name of an attribute. */
698     public static final PdfName GTS_PDFA1 = new PdfName("GTS_PDFA1");
699     /** A name of an attribute. */
700     public static final PdfName GTS_PDFX = new PdfName("GTS_PDFX");
701     /** A name of an attribute. */
702     public static final PdfName GTS_PDFXVERSION = new PdfName("GTS_PDFXVersion");
703     /** A name of an attribute. */
704     public static final PdfName H = new PdfName("H");
705     /**
706      * A name
707      * @since 2.1.6
708      */
709     public static final PdfName H1 = new PdfName( "H1" );
710     /**
711      * A name
712      * @since 2.1.6
713      */
714     public static final PdfName H2 = new PdfName("H2");
715     /**
716      * A name
717      * @since 2.1.6
718      */
719     public static final PdfName H3 = new PdfName("H3");
720     /**
721      * A name
722      * @since 2.1.6
723      */
724     public static final PdfName H4 = new PdfName("H4");
725     /**
726      * A name
727      * @since 2.1.6
728      */
729     public static final PdfName H5 = new PdfName("H5");
730     /**
731      * A name
732      * @since 2.1.6
733      */
734     public static final PdfName H6 = new PdfName("H6");
735 
736     /**
737      * A name.
738      * @since 2.1.6
739      */
740     public static final PdfName HALIGN = new PdfName("HAlign");
741     /** A name of an attribute. */
742     public static final PdfName HEIGHT = new PdfName("Height");
743     /** A name */
744     public static final PdfName HELV = new PdfName("Helv");
745     /** A name of a base 14 type 1 font */
746     public static final PdfName HELVETICA = new PdfName("Helvetica");
747     /** A name of a base 14 type 1 font */
748     public static final PdfName HELVETICA_BOLD = new PdfName("Helvetica-Bold");
749     /** A name of a base 14 type 1 font */
750     public static final PdfName HELVETICA_OBLIQUE = new PdfName("Helvetica-Oblique");
751     /** A name of a base 14 type 1 font */
752     public static final PdfName HELVETICA_BOLDOBLIQUE = new PdfName("Helvetica-BoldOblique");
753     /** A name */
754     public static final PdfName HID = new PdfName("Hid");
755     /** A name */
756     public static final PdfName HIDE = new PdfName("Hide");
757     /** A name */
758     public static final PdfName HIDEMENUBAR = new PdfName("HideMenubar");
759     /** A name */
760     public static final PdfName HIDETOOLBAR = new PdfName("HideToolbar");
761     /** A name */
762     public static final PdfName HIDEWINDOWUI = new PdfName("HideWindowUI");
763     /** A name */
764     public static final PdfName HIGHLIGHT = new PdfName("Highlight");
765     /**
766      * A name.
767      * @since 2.1.6
768      */
769     public static final PdfName HOFFSET = new PdfName("HOffset");
770     /** A name */
771     public static final PdfName I = new PdfName("I");
772     /** A name */
773     public static final PdfName ICCBASED = new PdfName("ICCBased");
774     /** A name */
775     public static final PdfName ID = new PdfName("ID");
776     /** A name */
777     public static final PdfName IDENTITY = new PdfName("Identity");
778     /** A name */
779     public static final PdfName IF = new PdfName("IF");
780     /** A name */
781     public static final PdfName IMAGE = new PdfName("Image");
782     /** A name */
783     public static final PdfName IMAGEB = new PdfName("ImageB");
784     /** A name */
785     public static final PdfName IMAGEC = new PdfName("ImageC");
786     /** A name */
787     public static final PdfName IMAGEI = new PdfName("ImageI");
788     /** A name */
789     public static final PdfName IMAGEMASK = new PdfName("ImageMask");
790     /** A name */
791     public static final PdfName INDEX = new PdfName("Index");
792     /** A name */
793     public static final PdfName INDEXED = new PdfName("Indexed");
794     /** A name */
795     public static final PdfName INFO = new PdfName("Info");
796     /** A name */
797     public static final PdfName INK = new PdfName("Ink");
798     /** A name */
799     public static final PdfName INKLIST = new PdfName("InkList");
800     /**
801      * A name.
802      * @since 2.1.6
803      */
804     public static final PdfName INSTANCES = new PdfName("Instances");
805     /** A name */
806     public static final PdfName IMPORTDATA = new PdfName("ImportData");
807     /** A name */
808     public static final PdfName INTENT = new PdfName("Intent");
809     /** A name */
810     public static final PdfName INTERPOLATE = new PdfName("Interpolate");
811     /** A name */
812     public static final PdfName ISMAP = new PdfName("IsMap");
813     /** A name */
814     public static final PdfName IRT = new PdfName("IRT");
815     /** A name */
816     public static final PdfName ITALICANGLE = new PdfName("ItalicAngle");
817     /**
818      * A name
819      * @since	2.1.6
820      */
821     public static final PdfName ITXT = new PdfName("ITXT");
822     /** A name */
823     public static final PdfName IX = new PdfName("IX");
824     /** A name */
825     public static final PdfName JAVASCRIPT = new PdfName("JavaScript");
826     /**
827      * A name
828      * @since	2.1.5
829      */
830     public static final PdfName JBIG2DECODE = new PdfName("JBIG2Decode");
831     /**
832      * A name
833      * @since	2.1.5
834      */
835     public static final PdfName JBIG2GLOBALS = new PdfName("JBIG2Globals");
836     /** A name */
837     public static final PdfName JPXDECODE = new PdfName("JPXDecode");
838     /** A name */
839     public static final PdfName JS = new PdfName("JS");
840     /** A name */
841     public static final PdfName K = new PdfName("K");
842     /** A name */
843     public static final PdfName KEYWORDS = new PdfName("Keywords");
844     /** A name */
845     public static final PdfName KIDS = new PdfName("Kids");
846     /** A name */
847     public static final PdfName L = new PdfName("L");
848     /** A name */
849     public static final PdfName L2R = new PdfName("L2R");
850     /** A name */
851     public static final PdfName LANG = new PdfName("Lang");
852     /** A name */
853     public static final PdfName LANGUAGE = new PdfName("Language");
854     /** A name */
855     public static final PdfName LAST = new PdfName("Last");
856     /** A name */
857     public static final PdfName LASTCHAR = new PdfName("LastChar");
858     /** A name */
859     public static final PdfName LASTPAGE = new PdfName("LastPage");
860     /** A name */
861     public static final PdfName LAUNCH = new PdfName("Launch");
862     /**
863      * A name
864      * @since 2.1.6
865      */
866     public static final PdfName LBL = new PdfName("Lbl");
867     /**
868      * A name
869      * @since 2.1.6
870      */
871     public static final PdfName LBODY = new PdfName("LBody");
872     /** A name */
873     public static final PdfName LENGTH = new PdfName("Length");
874     /** A name */
875     public static final PdfName LENGTH1 = new PdfName("Length1");
876     /**
877      * A name
878      * @since 2.1.6
879      */
880     public static final PdfName LI = new PdfName("LI");
881     /** A name */
882     public static final PdfName LIMITS = new PdfName("Limits");
883     /** A name */
884     public static final PdfName LINE = new PdfName("Line");
885     /**
886      * A name.
887      * @since 2.1.6
888      */
889     public static final PdfName LINEAR = new PdfName("Linear");
890     /** A name */
891     public static final PdfName LINK = new PdfName("Link");
892     /** A name */
893     public static final PdfName LISTMODE = new PdfName("ListMode");
894     /** A name */
895     public static final PdfName LOCATION = new PdfName("Location");
896     /** A name */
897     public static final PdfName LOCK = new PdfName("Lock");
898     /**
899      * A name
900      * @since	2.1.2
901      */
902     public static final PdfName LOCKED = new PdfName("Locked");
903     /** A name */
904     public static final PdfName LZWDECODE = new PdfName("LZWDecode");
905     /** A name */
906     public static final PdfName M = new PdfName("M");
907     /**
908      * A name
909      * @since	2.1.6
910      */
911     public static final PdfName MATERIAL = new PdfName("Material");
912     /** A name */
913     public static final PdfName MATRIX = new PdfName("Matrix");
914     /** A name of an encoding */
915     public static final PdfName MAC_EXPERT_ENCODING = new PdfName("MacExpertEncoding");
916     /** A name of an encoding */
917     public static final PdfName MAC_ROMAN_ENCODING = new PdfName("MacRomanEncoding");
918     /** A name */
919     public static final PdfName MARKED = new PdfName("Marked");
920     /** A name */
921     public static final PdfName MARKINFO = new PdfName("MarkInfo");
922     /** A name */
923     public static final PdfName MASK = new PdfName("Mask");
924     /**
925      * A name
926      * @since	2.1.6 renamed from MAX
927      */
928     public static final PdfName MAX_LOWER_CASE = new PdfName("max");
929     /**
930      * A name
931      * @since	2.1.6
932      */
933     public static final PdfName MAX_CAMEL_CASE = new PdfName("Max");
934     /** A name */
935     public static final PdfName MAXLEN = new PdfName("MaxLen");
936     /** A name */
937     public static final PdfName MEDIABOX = new PdfName("MediaBox");
938     /** A name */
939     public static final PdfName MCID = new PdfName("MCID");
940     /** A name */
941     public static final PdfName MCR = new PdfName("MCR");
942     /** A name */
943     public static final PdfName METADATA = new PdfName("Metadata");
944     /**
945      * A name
946      * @since	2.1.6 renamed from MIN
947      */
948     public static final PdfName MIN_LOWER_CASE = new PdfName("min");
949     /**
950      * A name
951      * @since	2.1.6
952      */
953     public static final PdfName MIN_CAMEL_CASE = new PdfName("Min");
954     /** A name */
955     public static final PdfName MK = new PdfName("MK");
956     /** A name */
957     public static final PdfName MMTYPE1 = new PdfName("MMType1");
958     /** A name */
959     public static final PdfName MODDATE = new PdfName("ModDate");
960     /** A name */
961     public static final PdfName N = new PdfName("N");
962     /** A name */
963     public static final PdfName N0 = new PdfName("n0");
964     /** A name */
965     public static final PdfName N1 = new PdfName("n1");
966     /** A name */
967     public static final PdfName N2 = new PdfName("n2");
968     /** A name */
969     public static final PdfName N3 = new PdfName("n3");
970     /** A name */
971     public static final PdfName N4 = new PdfName("n4");
972     /** A name */
973     public static final PdfName NAME = new PdfName("Name");
974     /** A name */
975     public static final PdfName NAMED = new PdfName("Named");
976     /** A name */
977     public static final PdfName NAMES = new PdfName("Names");
978     /**
979      * A name.
980      * @since 2.1.6
981      */
982     public static final PdfName NAVIGATION = new PdfName("Navigation");
983     /**
984      * A name.
985      * @since 2.1.6
986      */
987     public static final PdfName NAVIGATIONPANE = new PdfName("NavigationPane");
988     /**
989      * A name.
990      * @since 2.1.6
991      */
992     public static final PdfName NEAR = new PdfName("Near");
993     /** A name */
994     public static final PdfName NEEDAPPEARANCES = new PdfName("NeedAppearances");
995     /** A name */
996     public static final PdfName NEWWINDOW = new PdfName("NewWindow");
997     /** A name */
998     public static final PdfName NEXT = new PdfName("Next");
999     /** A name */
1000     public static final PdfName NEXTPAGE = new PdfName("NextPage");
1001     /** A name */
1002     public static final PdfName NM = new PdfName("NM");
1003     /** A name */
1004     public static final PdfName NONE = new PdfName("None");
1005     /** A name */
1006     public static final PdfName NONFULLSCREENPAGEMODE = new PdfName("NonFullScreenPageMode");
1007     /**
1008      * A name
1009      * @since 2.1.6
1010      */
1011     public static final PdfName NONSTRUCT = new PdfName("NonStruct");
1012     /**
1013      * A name
1014      * @since 2.1.6
1015      */
1016     public static final PdfName NOTE = new PdfName("Note");
1017     /** A name */
1018     public static final PdfName NUMCOPIES = new PdfName("NumCopies");
1019     /** A name */
1020     public static final PdfName NUMS = new PdfName("Nums");
1021     /** A name */
1022     public static final PdfName O = new PdfName("O");
1023     /**
1024      * A name used with Document Structure
1025      * @since 2.1.5
1026      */
1027     public static final PdfName OBJ = new PdfName("Obj");
1028     /**
1029      * a name used with Doucment Structure
1030      * @since 2.1.5
1031      */
1032     public static final PdfName OBJR = new PdfName("OBJR");
1033     /** A name */
1034     public static final PdfName OBJSTM = new PdfName("ObjStm");
1035     /** A name */
1036     public static final PdfName OC = new PdfName("OC");
1037     /** A name */
1038     public static final PdfName OCG = new PdfName("OCG");
1039     /** A name */
1040     public static final PdfName OCGS = new PdfName("OCGs");
1041     /** A name */
1042     public static final PdfName OCMD = new PdfName("OCMD");
1043     /** A name */
1044     public static final PdfName OCPROPERTIES = new PdfName("OCProperties");
1045     /** A name */
1046     public static final PdfName Off = new PdfName("Off");
1047     /** A name */
1048     public static final PdfName OFF = new PdfName("OFF");
1049     /** A name */
1050     public static final PdfName ON = new PdfName("ON");
1051     /** A name */
1052     public static final PdfName ONECOLUMN = new PdfName("OneColumn");
1053     /** A name */
1054     public static final PdfName OPEN = new PdfName("Open");
1055     /** A name */
1056     public static final PdfName OPENACTION = new PdfName("OpenAction");
1057     /** A name */
1058     public static final PdfName OP = new PdfName("OP");
1059     /** A name */
1060     public static final PdfName op = new PdfName("op");
1061     /** A name */
1062     public static final PdfName OPM = new PdfName("OPM");
1063     /** A name */
1064     public static final PdfName OPT = new PdfName("Opt");
1065     /** A name */
1066     public static final PdfName ORDER = new PdfName("Order");
1067     /** A name */
1068     public static final PdfName ORDERING = new PdfName("Ordering");
1069     /**
1070      * A name.
1071      * @since 2.1.6
1072      */
1073     public static final PdfName OSCILLATING = new PdfName("Oscillating");
1074 
1075     /** A name */
1076     public static final PdfName OUTLINES = new PdfName("Outlines");
1077     /** A name */
1078     public static final PdfName OUTPUTCONDITION = new PdfName("OutputCondition");
1079     /** A name */
1080     public static final PdfName OUTPUTCONDITIONIDENTIFIER = new PdfName("OutputConditionIdentifier");
1081     /** A name */
1082     public static final PdfName OUTPUTINTENT = new PdfName("OutputIntent");
1083     /** A name */
1084     public static final PdfName OUTPUTINTENTS = new PdfName("OutputIntents");
1085     /** A name */
1086     public static final PdfName P = new PdfName("P");
1087     /** A name */
1088     public static final PdfName PAGE = new PdfName("Page");
1089     /** A name */
1090     public static final PdfName PAGELABELS = new PdfName("PageLabels");
1091     /** A name */
1092     public static final PdfName PAGELAYOUT = new PdfName("PageLayout");
1093     /** A name */
1094     public static final PdfName PAGEMODE = new PdfName("PageMode");
1095     /** A name */
1096     public static final PdfName PAGES = new PdfName("Pages");
1097     /** A name */
1098     public static final PdfName PAINTTYPE = new PdfName("PaintType");
1099     /** A name */
1100     public static final PdfName PANOSE = new PdfName("Panose");
1101     /** A name */
1102     public static final PdfName PARAMS = new PdfName("Params");
1103     /** A name */
1104     public static final PdfName PARENT = new PdfName("Parent");
1105     /** A name */
1106     public static final PdfName PARENTTREE = new PdfName("ParentTree");
1107     /**
1108      * A name used in defining Document Structure.
1109      * @since 2.1.5
1110      */
1111     public static final PdfName PARENTTREENEXTKEY = new PdfName( "ParentTreeNextKey" );
1112     /**
1113      * A name
1114      * @since 2.1.6
1115      */
1116     public static final PdfName PART = new PdfName( "Part" );
1117     /**
1118      * A name.
1119      * @since 2.1.6
1120      */
1121     public static final PdfName PASSCONTEXTCLICK = new PdfName("PassContextClick");
1122     /** A name */
1123     public static final PdfName PATTERN = new PdfName("Pattern");
1124     /** A name */
1125     public static final PdfName PATTERNTYPE = new PdfName("PatternType");
1126     /**
1127      * A name.
1128      * @since 2.1.6
1129      */
1130     public static final PdfName PC = new PdfName("PC");
1131     /** A name */
1132     public static final PdfName PDF = new PdfName("PDF");
1133     /** A name */
1134     public static final PdfName PDFDOCENCODING = new PdfName("PDFDocEncoding");
1135     /** A name */
1136     public static final PdfName PERCEPTUAL = new PdfName("Perceptual");
1137     /** A name */
1138     public static final PdfName PERMS = new PdfName("Perms");
1139     /** A name */
1140     public static final PdfName PG = new PdfName("Pg");
1141     /**
1142      * A name.
1143      * @since 2.1.6
1144      */
1145     public static final PdfName PI = new PdfName("PI");
1146     /** A name */
1147     public static final PdfName PICKTRAYBYPDFSIZE = new PdfName("PickTrayByPDFSize");
1148     /**
1149      * A name.
1150      * @since 2.1.6
1151      */
1152     public static final PdfName PLAYCOUNT = new PdfName("PlayCount");
1153     /**
1154      * A name.
1155      * @since 2.1.6
1156      */
1157     public static final PdfName PO = new PdfName("PO");
1158     /** A name */
1159     public static final PdfName POPUP = new PdfName("Popup");
1160     /**
1161      * A name.
1162      * @since 2.1.6
1163      */
1164     public static final PdfName POSITION = new PdfName("Position");
1165     /** A name */
1166     public static final PdfName PREDICTOR = new PdfName("Predictor");
1167     /** A name */
1168     public static final PdfName PREFERRED = new PdfName("Preferred");
1169     /**
1170      * A name.
1171      * @since 2.1.6
1172      */
1173     public static final PdfName PRESENTATION = new PdfName("Presentation");
1174     /** A name */
1175     public static final PdfName PRESERVERB = new PdfName("PreserveRB");
1176     /** A name */
1177     public static final PdfName PREV = new PdfName("Prev");
1178     /** A name */
1179     public static final PdfName PREVPAGE = new PdfName("PrevPage");
1180     /** A name */
1181     public static final PdfName PRINT = new PdfName("Print");
1182     /** A name */
1183     public static final PdfName PRINTAREA = new PdfName("PrintArea");
1184     /** A name */
1185     public static final PdfName PRINTCLIP = new PdfName("PrintClip");
1186     /** A name */
1187     public static final PdfName PRINTPAGERANGE = new PdfName("PrintPageRange");
1188     /** A name */
1189     public static final PdfName PRINTSCALING = new PdfName("PrintScaling");
1190     /** A name */
1191     public static final PdfName PRINTSTATE = new PdfName("PrintState");
1192     /**
1193      * A name
1194      * @since 2.1.6
1195      */
1196     public static final PdfName PRIVATE = new PdfName("Private");
1197     /** A name */
1198     public static final PdfName PROCSET = new PdfName("ProcSet");
1199     /** A name */
1200     public static final PdfName PRODUCER = new PdfName("Producer");
1201     /** A name */
1202     public static final PdfName PROPERTIES = new PdfName("Properties");
1203     /** A name */
1204     public static final PdfName PS = new PdfName("PS");
1205     /** A name */
1206     public static final PdfName PUBSEC = new PdfName("Adobe.PubSec");
1207     /**
1208      * A name.
1209      * @since 2.1.6
1210      */
1211     public static final PdfName PV = new PdfName("PV");
1212     /** A name */
1213     public static final PdfName Q = new PdfName("Q");
1214     /** A name */
1215     public static final PdfName QUADPOINTS = new PdfName("QuadPoints");
1216     /**
1217      * A name
1218      * @since 2.1.6
1219      */
1220     public static final PdfName QUOTE = new PdfName("Quote");
1221     /** A name */
1222     public static final PdfName R = new PdfName("R");
1223     /** A name */
1224     public static final PdfName R2L = new PdfName("R2L");
1225     /** A name */
1226     public static final PdfName RANGE = new PdfName("Range");
1227     /** A name */
1228     public static final PdfName RC = new PdfName("RC");
1229     /** A name */
1230     public static final PdfName RBGROUPS = new PdfName("RBGroups");
1231     /** A name */
1232     public static final PdfName REASON = new PdfName("Reason");
1233     /** A name */
1234     public static final PdfName RECIPIENTS = new PdfName("Recipients");
1235     /** A name */
1236     public static final PdfName RECT = new PdfName("Rect");
1237     /** A name */
1238     public static final PdfName REFERENCE = new PdfName("Reference");
1239     /** A name */
1240     public static final PdfName REGISTRY = new PdfName("Registry");
1241     /** A name */
1242     public static final PdfName REGISTRYNAME = new PdfName("RegistryName");
1243     /**
1244      * A name
1245      * @since	2.1.5 renamed from RELATIVECALORIMETRIC
1246      */
1247     public static final PdfName RELATIVECOLORIMETRIC = new PdfName("RelativeColorimetric");
1248     /** A name */
1249     public static final PdfName RENDITION = new PdfName("Rendition");
1250     /** A name */
1251     public static final PdfName RESETFORM = new PdfName("ResetForm");
1252     /** A name */
1253     public static final PdfName RESOURCES = new PdfName("Resources");
1254     /** A name */
1255     public static final PdfName RI = new PdfName("RI");
1256     /**
1257      * A name.
1258      * @since 2.1.6
1259      */
1260     public static final PdfName RICHMEDIA = new PdfName("RichMedia");
1261     /**
1262      * A name.
1263      * @since 2.1.6
1264      */
1265     public static final PdfName RICHMEDIAACTIVATION = new PdfName("RichMediaActivation");
1266     /**
1267      * A name.
1268      * @since 2.1.6
1269      */
1270     public static final PdfName RICHMEDIAANIMATION = new PdfName("RichMediaAnimation");
1271     /**
1272      * A name
1273      * @since	2.1.6
1274      */
1275     public static final PdfName RICHMEDIACOMMAND = new PdfName("RichMediaCommand");
1276     /**
1277      * A name.
1278      * @since 2.1.6
1279      */
1280     public static final PdfName RICHMEDIACONFIGURATION = new PdfName("RichMediaConfiguration");
1281     /**
1282      * A name.
1283      * @since 2.1.6
1284      */
1285     public static final PdfName RICHMEDIACONTENT = new PdfName("RichMediaContent");
1286     /**
1287      * A name.
1288      * @since 2.1.6
1289      */
1290     public static final PdfName RICHMEDIADEACTIVATION = new PdfName("RichMediaDeactivation");
1291     /**
1292      * A name.
1293      * @since 2.1.6
1294      */
1295     public static final PdfName RICHMEDIAEXECUTE = new PdfName("RichMediaExecute");
1296     /**
1297      * A name.
1298      * @since 2.1.6
1299      */
1300     public static final PdfName RICHMEDIAINSTANCE = new PdfName("RichMediaInstance");
1301     /**
1302      * A name.
1303      * @since 2.1.6
1304      */
1305     public static final PdfName RICHMEDIAPARAMS = new PdfName("RichMediaParams");
1306     /**
1307      * A name.
1308      * @since 2.1.6
1309      */
1310     public static final PdfName RICHMEDIAPOSITION = new PdfName("RichMediaPosition");
1311     /**
1312      * A name.
1313      * @since 2.1.6
1314      */
1315     public static final PdfName RICHMEDIAPRESENTATION = new PdfName("RichMediaPresentation");
1316     /**
1317      * A name.
1318      * @since 2.1.6
1319      */
1320     public static final PdfName RICHMEDIASETTINGS = new PdfName("RichMediaSettings");
1321     /**
1322      * A name.
1323      * @since 2.1.6
1324      */
1325     public static final PdfName RICHMEDIAWINDOW = new PdfName("RichMediaWindow");
1326     /** A name */
1327     public static final PdfName ROLEMAP = new PdfName("RoleMap");
1328     /** A name */
1329     public static final PdfName ROOT = new PdfName("Root");
1330     /** A name */
1331     public static final PdfName ROTATE = new PdfName("Rotate");
1332     /** A name */
1333     public static final PdfName ROWS = new PdfName("Rows");
1334     /**
1335      * A name
1336      * @since 2.1.6
1337      */
1338     public static final PdfName RUBY = new PdfName( "Ruby" );
1339     /** A name */
1340     public static final PdfName RUNLENGTHDECODE = new PdfName("RunLengthDecode");
1341     /** A name */
1342     public static final PdfName RV = new PdfName("RV");
1343     /** A name */
1344     public static final PdfName S = new PdfName("S");
1345     /** A name */
1346     public static final PdfName SATURATION = new PdfName("Saturation");
1347     /** A name */
1348     public static final PdfName SCHEMA = new PdfName("Schema");
1349     /** A name */
1350     public static final PdfName SCREEN = new PdfName("Screen");
1351     /**
1352      * A name.
1353      * @since 2.1.6
1354      */
1355     public static final PdfName SCRIPTS = new PdfName("Scripts");
1356     /** A name */
1357     public static final PdfName SECT = new PdfName("Sect");
1358     /** A name */
1359     public static final PdfName SEPARATION = new PdfName("Separation");
1360     /** A name */
1361     public static final PdfName SETOCGSTATE = new PdfName("SetOCGState");
1362     /**
1363      * A name.
1364      * @since 2.1.6
1365      */
1366     public static final PdfName SETTINGS = new PdfName("Settings");
1367     /** A name */
1368     public static final PdfName SHADING = new PdfName("Shading");
1369     /** A name */
1370     public static final PdfName SHADINGTYPE = new PdfName("ShadingType");
1371     /** A name */
1372     public static final PdfName SHIFT_JIS = new PdfName("Shift-JIS");
1373     /** A name */
1374     public static final PdfName SIG = new PdfName("Sig");
1375     /** A name */
1376     public static final PdfName SIGFLAGS = new PdfName("SigFlags");
1377     /** A name */
1378     public static final PdfName SIGREF = new PdfName("SigRef");
1379     /** A name */
1380     public static final PdfName SIMPLEX = new PdfName("Simplex");
1381     /** A name */
1382     public static final PdfName SINGLEPAGE = new PdfName("SinglePage");
1383     /** A name */
1384     public static final PdfName SIZE = new PdfName("Size");
1385     /** A name */
1386     public static final PdfName SMASK = new PdfName("SMask");
1387     /** A name */
1388     public static final PdfName SORT = new PdfName("Sort");
1389     /**
1390      * A name.
1391      * @since 2.1.6
1392      */
1393     public static final PdfName SOUND = new PdfName("Sound");
1394     /** A name */
1395     public static final PdfName SPAN = new PdfName("Span");
1396     /**
1397      * A name.
1398      * @since 2.1.6
1399      */
1400     public static final PdfName SPEED = new PdfName("Speed");
1401     /** A name */
1402     public static final PdfName SPLIT = new PdfName("Split");
1403     /** A name */
1404     public static final PdfName SQUARE = new PdfName("Square");
1405     /**
1406      * A name
1407      * @since 2.1.3
1408      */
1409     public static final PdfName SQUIGGLY = new PdfName("Squiggly");
1410     /** A name */
1411     public static final PdfName ST = new PdfName("St");
1412     /** A name */
1413     public static final PdfName STAMP = new PdfName("Stamp");
1414     /** A name */
1415     public static final PdfName STAMPTKDATA = new PdfName("stamptkData");
1416     /** A name */
1417     public static final PdfName STANDARD = new PdfName("Standard");
1418     /** A name */
1419     public static final PdfName STATE = new PdfName("State");
1420     /** A name */
1421     public static final PdfName STDCF = new PdfName("StdCF");
1422     /** A name */
1423     public static final PdfName STEMV = new PdfName("StemV");
1424     /** A name */
1425     public static final PdfName STMF = new PdfName("StmF");
1426     /** A name */
1427     public static final PdfName STRF = new PdfName("StrF");
1428     /** A name */
1429     public static final PdfName STRIKEOUT = new PdfName("StrikeOut");
1430     /** A name */
1431     public static final PdfName STRUCTPARENT = new PdfName("StructParent");
1432     /** A name */
1433     public static final PdfName STRUCTPARENTS = new PdfName("StructParents");
1434     /** A name */
1435     public static final PdfName STRUCTTREEROOT = new PdfName("StructTreeRoot");
1436     /** A name */
1437     public static final PdfName STYLE = new PdfName("Style");
1438     /** A name */
1439     public static final PdfName SUBFILTER = new PdfName("SubFilter");
1440     /** A name */
1441     public static final PdfName SUBJECT = new PdfName("Subject");
1442     /** A name */
1443     public static final PdfName SUBMITFORM = new PdfName("SubmitForm");
1444     /** A name */
1445     public static final PdfName SUBTYPE = new PdfName("Subtype");
1446     /** A name */
1447     public static final PdfName SUPPLEMENT = new PdfName("Supplement");
1448     /** A name */
1449     public static final PdfName SV = new PdfName("SV");
1450     /** A name */
1451     public static final PdfName SW = new PdfName("SW");
1452     /** A name of a base 14 type 1 font */
1453     public static final PdfName SYMBOL = new PdfName("Symbol");
1454     /** A name */
1455     public static final PdfName T = new PdfName("T");
1456     /**
1457      * A name
1458      * @since	2.1.6
1459      */
1460     public static final PdfName TA = new PdfName("TA");
1461     /**
1462      * A name
1463      * @since 2.1.6
1464      */
1465     public static final PdfName TABLE = new PdfName("Table");
1466     /**
1467      * A name
1468      * @since	2.1.5
1469      */
1470     public static final PdfName TABS = new PdfName("Tabs");
1471     /**
1472      * A name
1473      * @since 2.1.6
1474      */
1475     public static final PdfName TBODY = new PdfName("TBody");
1476     /**
1477      * A name
1478      * @since 2.1.6
1479      */
1480     public static final PdfName TD = new PdfName("TD");
1481     /** A name */
1482     public static final PdfName TEXT = new PdfName("Text");
1483     /**
1484      * A name
1485      * @since 2.1.6
1486      */
1487     public static final PdfName TFOOT = new PdfName("TFoot");
1488     /**
1489      * A name
1490      * @since 2.1.6
1491      */
1492     public static final PdfName TH = new PdfName("TH");
1493     /**
1494      * A name
1495      * @since 2.1.6
1496      */
1497     public static final PdfName THEAD = new PdfName("THead");
1498     /** A name */
1499     public static final PdfName THUMB = new PdfName("Thumb");
1500     /** A name */
1501     public static final PdfName THREADS = new PdfName("Threads");
1502     /** A name */
1503     public static final PdfName TI = new PdfName("TI");
1504     /**
1505      * A name
1506      * @since	2.1.6
1507      */
1508     public static final PdfName TIME = new PdfName("Time");
1509     /** A name */
1510     public static final PdfName TILINGTYPE = new PdfName("TilingType");
1511     /** A name of a base 14 type 1 font */
1512     public static final PdfName TIMES_ROMAN = new PdfName("Times-Roman");
1513     /** A name of a base 14 type 1 font */
1514     public static final PdfName TIMES_BOLD = new PdfName("Times-Bold");
1515     /** A name of a base 14 type 1 font */
1516     public static final PdfName TIMES_ITALIC = new PdfName("Times-Italic");
1517     /** A name of a base 14 type 1 font */
1518     public static final PdfName TIMES_BOLDITALIC = new PdfName("Times-BoldItalic");
1519     /** A name */
1520     public static final PdfName TITLE = new PdfName("Title");
1521     /** A name */
1522     public static final PdfName TK = new PdfName("TK");
1523     /** A name */
1524     public static final PdfName TM = new PdfName("TM");
1525     /**
1526      * A name
1527      * @since 2.1.6
1528      */
1529     public static final PdfName TOC = new PdfName("TOC");
1530     /**
1531      * A name
1532      * @since 2.1.6
1533      */
1534     public static final PdfName TOCI = new PdfName("TOCI");
1535     /** A name */
1536     public static final PdfName TOGGLE = new PdfName("Toggle");
1537     /**
1538      * A name.
1539      * @since 2.1.6
1540      */
1541     public static final PdfName TOOLBAR = new PdfName("Toolbar");
1542     /** A name */
1543     public static final PdfName TOUNICODE = new PdfName("ToUnicode");
1544     /** A name */
1545     public static final PdfName TP = new PdfName("TP");
1546     /**
1547      * A name
1548      * @since 2.1.6
1549      */
1550     public static final PdfName TABLEROW = new PdfName( "TR" );
1551     /** A name */
1552     public static final PdfName TRANS = new PdfName("Trans");
1553     /** A name */
1554     public static final PdfName TRANSFORMPARAMS = new PdfName("TransformParams");
1555     /** A name */
1556     public static final PdfName TRANSFORMMETHOD = new PdfName("TransformMethod");
1557     /** A name */
1558     public static final PdfName TRANSPARENCY = new PdfName("Transparency");
1559     /**
1560      * A name.
1561      * @since 2.1.6
1562      */
1563     public static final PdfName TRANSPARENT = new PdfName("Transparent");
1564     /** A name */
1565     public static final PdfName TRAPPED = new PdfName("Trapped");
1566     /** A name */
1567     public static final PdfName TRIMBOX = new PdfName("TrimBox");
1568     /** A name */
1569     public static final PdfName TRUETYPE = new PdfName("TrueType");
1570     /** A name */
1571     public static final PdfName TU = new PdfName("TU");
1572     /** A name */
1573     public static final PdfName TWOCOLUMNLEFT = new PdfName("TwoColumnLeft");
1574     /** A name */
1575     public static final PdfName TWOCOLUMNRIGHT = new PdfName("TwoColumnRight");
1576     /** A name */
1577     public static final PdfName TWOPAGELEFT = new PdfName("TwoPageLeft");
1578     /** A name */
1579     public static final PdfName TWOPAGERIGHT = new PdfName("TwoPageRight");
1580     /** A name */
1581     public static final PdfName TX = new PdfName("Tx");
1582     /** A name */
1583     public static final PdfName TYPE = new PdfName("Type");
1584     /** A name */
1585     public static final PdfName TYPE0 = new PdfName("Type0");
1586     /** A name */
1587     public static final PdfName TYPE1 = new PdfName("Type1");
1588     /** A name of an attribute. */
1589     public static final PdfName TYPE3 = new PdfName("Type3");
1590     /** A name of an attribute. */
1591     public static final PdfName U = new PdfName("U");
1592     /** A name of an attribute. */
1593     public static final PdfName UF = new PdfName("UF");
1594     /** A name of an attribute. */
1595     public static final PdfName UHC = new PdfName("UHC");
1596     /** A name of an attribute. */
1597     public static final PdfName UNDERLINE = new PdfName("Underline");
1598     /** A name */
1599     public static final PdfName UR = new PdfName("UR");
1600     /** A name */
1601     public static final PdfName UR3 = new PdfName("UR3");
1602     /** A name */
1603     public static final PdfName URI = new PdfName("URI");
1604     /** A name */
1605     public static final PdfName URL = new PdfName("URL");
1606     /** A name */
1607     public static final PdfName USAGE = new PdfName("Usage");
1608     /** A name */
1609     public static final PdfName USEATTACHMENTS = new PdfName("UseAttachments");
1610     /** A name */
1611     public static final PdfName USENONE = new PdfName("UseNone");
1612     /** A name */
1613     public static final PdfName USEOC = new PdfName("UseOC");
1614     /** A name */
1615     public static final PdfName USEOUTLINES = new PdfName("UseOutlines");
1616     /** A name */
1617     public static final PdfName USER = new PdfName("User");
1618     /** A name */
1619     public static final PdfName USERPROPERTIES = new PdfName("UserProperties");
1620     /** A name */
1621     public static final PdfName USERUNIT = new PdfName("UserUnit");
1622     /** A name */
1623     public static final PdfName USETHUMBS = new PdfName("UseThumbs");
1624     /** A name */
1625     public static final PdfName V = new PdfName("V");
1626     /** A name */
1627     public static final PdfName V2 = new PdfName("V2");
1628     /**
1629      * A name.
1630      * @since 2.1.6
1631      */
1632     public static final PdfName VALIGN = new PdfName("VAlign");
1633     /** A name */
1634     public static final PdfName VERISIGN_PPKVS = new PdfName("VeriSign.PPKVS");
1635     /** A name */
1636 	public static final PdfName VERSION = new PdfName("Version");
1637     /**
1638      * A name.
1639      * @since 2.1.6
1640      */
1641     public static final PdfName VIDEO = new PdfName("Video");
1642     /** A name */
1643     public static final PdfName VIEW = new PdfName("View");
1644     /**
1645      * A name.
1646      * @since 2.1.6
1647      */
1648     public static final PdfName VIEWS = new PdfName("Views");
1649     /** A name */
1650     public static final PdfName VIEWAREA = new PdfName("ViewArea");
1651     /** A name */
1652     public static final PdfName VIEWCLIP = new PdfName("ViewClip");
1653     /** A name */
1654     public static final PdfName VIEWERPREFERENCES = new PdfName("ViewerPreferences");
1655     /** A name */
1656     public static final PdfName VIEWSTATE = new PdfName("ViewState");
1657     /** A name */
1658     public static final PdfName VISIBLEPAGES = new PdfName("VisiblePages");
1659     /**
1660      * A name.
1661      * @since 2.1.6
1662      */
1663     public static final PdfName VOFFSET = new PdfName("VOffset");
1664     /** A name of an attribute. */
1665     public static final PdfName W = new PdfName("W");
1666     /** A name of an attribute. */
1667     public static final PdfName W2 = new PdfName("W2");
1668     /**
1669      * A name
1670      * @since 2.1.6
1671      */
1672     public static final PdfName WARICHU = new PdfName("Warichu");
1673     /** A name of an attribute. */
1674     public static final PdfName WC = new PdfName("WC");
1675     /** A name of an attribute. */
1676     public static final PdfName WIDGET = new PdfName("Widget");
1677     /** A name of an attribute. */
1678     public static final PdfName WIDTH = new PdfName("Width");
1679     /** A name */
1680     public static final PdfName WIDTHS = new PdfName("Widths");
1681     /** A name of an encoding */
1682     public static final PdfName WIN = new PdfName("Win");
1683     /** A name of an encoding */
1684     public static final PdfName WIN_ANSI_ENCODING = new PdfName("WinAnsiEncoding");
1685     /**
1686      * A name.
1687      * @since 2.1.6
1688      */
1689     public static final PdfName WINDOW = new PdfName("Window");
1690     /**
1691      * A name.
1692      * @since 2.1.6
1693      */
1694     public static final PdfName WINDOWED = new PdfName("Windowed");
1695     /** A name of an encoding */
1696     public static final PdfName WIPE = new PdfName("Wipe");
1697     /** A name */
1698     public static final PdfName WHITEPOINT = new PdfName("WhitePoint");
1699     /** A name */
1700     public static final PdfName WP = new PdfName("WP");
1701     /** A name of an encoding */
1702     public static final PdfName WS = new PdfName("WS");
1703     /** A name */
1704     public static final PdfName X = new PdfName("X");
1705     /**
1706      * A name.
1707      * @since 2.1.6
1708      */
1709     public static final PdfName XA = new PdfName("XA");
1710     /**
1711      * A name.
1712      * @since 2.1.6
1713      */
1714     public static final PdfName XD = new PdfName("XD");
1715     /** A name */
1716     public static final PdfName XFA = new PdfName("XFA");
1717     /** A name */
1718     public static final PdfName XML = new PdfName("XML");
1719     /** A name */
1720     public static final PdfName XOBJECT = new PdfName("XObject");
1721     /** A name */
1722     public static final PdfName XSTEP = new PdfName("XStep");
1723     /** A name */
1724     public static final PdfName XREF = new PdfName("XRef");
1725     /** A name */
1726     public static final PdfName XREFSTM = new PdfName("XRefStm");
1727     /** A name */
1728     public static final PdfName XYZ = new PdfName("XYZ");
1729     /** A name */
1730     public static final PdfName YSTEP = new PdfName("YStep");
1731     /** A name */
1732     public static final PdfName ZADB = new PdfName("ZaDb");
1733     /** A name of a base 14 type 1 font */
1734     public static final PdfName ZAPFDINGBATS = new PdfName("ZapfDingbats");
1735     /** A name */
1736     public static final PdfName ZOOM = new PdfName("Zoom");
1737 	// ssteward: added VERSION* for pdftk 1.46
1738     /** A name */
1739     public static final PdfName VERSION_1_0 = new PdfName("1.0");
1740     /** A name */
1741     public static final PdfName VERSION_1_1 = new PdfName("1.1");
1742     /** A name */
1743     public static final PdfName VERSION_1_2 = new PdfName("1.2");
1744     /** A name */
1745     public static final PdfName VERSION_1_3 = new PdfName("1.3");
1746     /** A name */
1747     public static final PdfName VERSION_1_4 = new PdfName("1.4");
1748     /** A name */
1749     public static final PdfName VERSION_1_5 = new PdfName("1.5");
1750     /** A name */
1751     public static final PdfName VERSION_1_6 = new PdfName("1.6");
1752     /** A name */
1753     public static final PdfName VERSION_1_7 = new PdfName("1.7");
1754 
1755 
1756     /**
1757      * map strings to all known static names
1758      * @since 2.1.6
1759      */
1760     public static Map staticNames;
1761 
1762     /**
1763      * Use reflection to cache all the static public final names so
1764      * future <code>PdfName</code> additions don't have to be "added twice".
1765      * A bit less efficient (around 50ms spent here on a 2.2ghz machine),
1766      *  but Much Less error prone.
1767      * @since 2.1.6
1768      */
1769 
1770     static {
1771         Field fields[] = PdfName.class.getDeclaredFields();
1772         staticNames = new HashMap( fields.length );
1773         final int flags = Modifier.STATIC | Modifier.PUBLIC | Modifier.FINAL;
1774         try {
1775             for (int fldIdx = 0; fldIdx < fields.length; ++fldIdx) {
1776                 Field curFld = fields[fldIdx];
1777                 if ((curFld.getModifiers() & flags) == flags &&
1778                     curFld.getType().equals( PdfName.class )) {
1779                     PdfName name = (PdfName)curFld.get( null );
decodeName()1780                     staticNames.put( decodeName( name.toString() ), name );
1781                 }
1782             }
1783         } catch (Exception e) {
1784             e.printStackTrace();
1785         }
1786     }
1787     // CLASS VARIABLES
1788 
1789     private int hash = 0;
1790 
1791     // CONSTRUCTORS
1792 
1793     /**
1794      * Constructs a new <CODE>PdfName</CODE>. The name length will be checked.
1795      *
1796      * @param name the new name
1797      */
PdfName(String name)1798     public PdfName(String name) {
1799         this(name, true);
1800     }
1801 
1802     /**
1803      * Constructs a new <CODE>PdfName</CODE>.
1804      * @param name the new name
1805      * @param lengthCheck if <CODE>true</CODE> check the length validity,
1806      * if <CODE>false</CODE> the name can have any length
1807      */
PdfName(String name, boolean lengthCheck)1808     public PdfName(String name, boolean lengthCheck) {
1809         super(PdfObject.NAME);
1810         // The minimum number of characters in a name is 0, the maximum is 127 (the '/' not included)
1811         int length = name.length();
1812         if (lengthCheck && length > 127)
1813             throw new IllegalArgumentException("the.name.1.is.too.long.2.characters: "+ String.valueOf(length));
1814         bytes = encodeName(name);
1815     }
1816 
1817     /**
1818      * Constructs a PdfName.
1819      *
1820      * @param bytes the byte representation of the name
1821      */
PdfName(byte bytes[])1822     public PdfName(byte bytes[]) {
1823         super(PdfObject.NAME, bytes);
1824     }
1825 
1826     // CLASS METHODS
1827 
1828     /**
1829      * Compares this object with the specified object for order.
1830      * Returns a negative integer, zero, or a positive integer as this object
1831      * is less than, equal to, or greater than the specified object.<p>
1832      *
1833      * @param object the Object to be compared.
1834      * @return a negative integer, zero, or a positive integer as this object
1835      * is less than, equal to, or greater than the specified object.
1836      * @throws ClassCastException if the specified object's type prevents it
1837      * from being compared to this Object.
1838      */
compareTo(Object object)1839     public int compareTo(Object object) {
1840         PdfName name = (PdfName) object;
1841         byte myBytes[] = bytes;
1842         byte objBytes[] = name.bytes;
1843         int len = Math.min(myBytes.length, objBytes.length);
1844         for(int i = 0; i < len; i++) {
1845             if (myBytes[i] > objBytes[i])
1846                 return 1;
1847             if (myBytes[i] < objBytes[i])
1848                 return -1;
1849         }
1850         if (myBytes.length < objBytes.length)
1851             return -1;
1852         if (myBytes.length > objBytes.length)
1853             return 1;
1854         return 0;
1855     }
1856 
1857     /**
1858      * Indicates whether some other object is "equal to" this one.
1859      *
1860      * @param   obj   the reference object with which to compare.
1861      * @return  <code>true</code> if this object is the same as the obj
1862      * argument; <code>false</code> otherwise.
1863      */
equals(Object obj)1864     public boolean equals(Object obj) {
1865         if (this == obj)
1866             return true;
1867         if (obj instanceof PdfName)
1868             return compareTo(obj) == 0;
1869         return false;
1870     }
1871 
1872     /**
1873      * Returns a hash code value for the object.
1874      * This method is supported for the benefit of hashtables such as those provided by
1875      * <code>java.util.Hashtable</code>.
1876      *
1877      * @return  a hash code value for this object.
1878      */
hashCode()1879     public int hashCode() {
1880         int h = hash;
1881         if (h == 0) {
1882             int ptr = 0;
1883             int len = bytes.length;
1884             for (int i = 0; i < len; i++)
1885                 h = 31*h + (bytes[ptr++] & 0xff);
1886             hash = h;
1887         }
1888         return h;
1889     }
1890 
1891     /**
1892      * Encodes a plain name given in the unescaped form "AB CD" into "/AB#20CD".
1893      *
1894      * @param name the name to encode
1895      * @return the encoded name
1896      * @since	2.1.5
1897      */
encodeName(String name)1898     public static byte[] encodeName(String name) {
1899     	int length = name.length();
1900     	ByteBuffer buf = new ByteBuffer(length + 20);
1901     	buf.append('/');
1902     	char c;
1903     	char chars[] = name.toCharArray();
1904     	for (int k = 0; k < length; k++) {
1905     		c = (char)(chars[k] & 0xff);
1906     		// Escape special characters
1907     		switch (c) {
1908     			case ' ':
1909     			case '%':
1910     			case '(':
1911     			case ')':
1912     			case '<':
1913     			case '>':
1914     			case '[':
1915     			case ']':
1916     			case '{':
1917     			case '}':
1918     			case '/':
1919     			case '#':
1920     				buf.append('#');
1921     				buf.append(Integer.toString(c, 16));
1922     				break;
1923     			default:
1924     				if (c >= 32 && c <= 126)
1925     					buf.append(c);
1926     				else {
1927     					buf.append('#');
1928     					if (c < 16)
1929     						buf.append('0');
1930     					buf.append(Integer.toString(c, 16));
1931     				}
1932     				break;
1933     			}
1934     		}
1935     	return buf.toByteArray();
1936     }
1937 
1938     /**
1939      * Decodes an escaped name given in the form "/AB#20CD" into "AB CD".
1940      *
1941      * @param name the name to decode
1942      * @return the decoded name
1943      */
decodeName(String name)1944     public static String decodeName(String name) {
1945         StringBuffer buf = new StringBuffer();
1946         try {
1947             int len = name.length();
1948             for (int k = 1; k < len; ++k) {
1949                 char c = name.charAt(k);
1950                 if (c == '#') {
1951                 	char c1 = name.charAt(k + 1);
1952                 	char c2 = name.charAt(k + 2);
1953                     c = (char)((PRTokeniser.getHex(c1) << 4) + PRTokeniser.getHex(c2));
1954                     k += 2;
1955                 }
1956                 buf.append(c);
1957             }
1958         }
1959         catch (IndexOutOfBoundsException e) {
1960             // empty on purpose
1961         }
1962         return buf.toString();
1963     }
1964 }
1965