1 /*
2  * $Id: PdfName.java 3934 2009-05-27 11:23:23Z blowagie $
3  *
4  * Copyright 1999-2006 Bruno Lowagie
5  *
6  * The contents of this file are subject to the Mozilla Public License Version 1.1
7  * (the "License"); you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at http://www.mozilla.org/MPL/
9  *
10  * Software distributed under the License is distributed on an "AS IS" basis,
11  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12  * for the specific language governing rights and limitations under the License.
13  *
14  * The Original Code is 'iText, a free JAVA-PDF library'.
15  *
16  * The Initial Developer of the Original Code is Bruno Lowagie. Portions created by
17  * the Initial Developer are Copyright (C) 1999, 2000, 2001, 2002 by Bruno Lowagie.
18  * All Rights Reserved.
19  * Co-Developer of the code is Paulo Soares. Portions created by the Co-Developer
20  * are Copyright (C) 2000, 2001, 2002 by Paulo Soares. All Rights Reserved.
21  *
22  * Contributor(s): all the names of the contributors are added in the source code
23  * where applicable.
24  *
25  * Alternatively, the contents of this file may be used under the terms of the
26  * LGPL license (the "GNU LIBRARY GENERAL PUBLIC LICENSE"), in which case the
27  * provisions of LGPL are applicable instead of those above.  If you wish to
28  * allow use of your version of this file only under the terms of the LGPL
29  * License and not to allow others to use your version of this file under
30  * the MPL, indicate your decision by deleting the provisions above and
31  * replace them with the notice and other provisions required by the LGPL.
32  * If you do not delete the provisions above, a recipient may use your version
33  * of this file under either the MPL or the GNU LIBRARY GENERAL PUBLIC LICENSE.
34  *
35  * This library is free software; you can redistribute it and/or modify it
36  * under the terms of the MPL as stated above or under the terms of the GNU
37  * Library General Public License as published by the Free Software Foundation;
38  * either version 2 of the License, or any later version.
39  *
40  * This library is distributed in the hope that it will be useful, but WITHOUT
41  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
42  * FOR A PARTICULAR PURPOSE. See the GNU Library general Public License for more
43  * details.
44  *
45  * If you didn't download this code from the following link, you should check if
46  * you aren't using an obsolete version:
47  * http://www.lowagie.com/iText/
48  */

49
50 package com.lowagie.text.pdf;
51
52 import java.lang.reflect.Field;
53 import java.lang.reflect.Modifier;
54 import java.util.*;
55
56 /**
57  * <CODE>PdfName</CODE> is an object that can be used as a name in a PDF-file.
58  * <P>
59  * A name, like a string, is a sequence of characters.
60  * It must begin with a slash followed by a sequence of ASCII characters in
61  * the range 32 through 136 except %, (, ), [, ], &lt;, &gt;, {, }, / and #.
62  * Any character except 0x00 may be included in a name by writing its
63  * two character hex code, preceded by #. The maximum number of characters
64  * in a name is 127.<BR>
65  * This object is described in the 'Portable Document Format Reference Manual
66  * version 1.7' section 3.2.4 (page 56-58).
67  * <P>
68  *
69  * @see        PdfObject
70  * @see        PdfDictionary
71  * @see        BadPdfFormatException
72  */

73
74 public class PdfName extends PdfObject implements Comparable{
75
76     // CLASS CONSTANTS (a variety of standard names used in PDF))
77     /**
78      * A name.
79      * @since 2.1.6
80      */

81     public static final PdfName _3D = new PdfName("3D");
82     /** A name */
83     public static final PdfName A = new PdfName("A");
84     /** A name */
85     public static final PdfName AA = new PdfName("AA");
86     /**
87      * A name
88      * @since 2.1.5 renamed from ABSOLUTECALORIMETRIC
89      */

90     public static final PdfName ABSOLUTECOLORIMETRIC = new PdfName("AbsoluteColorimetric");
91     /** A name */
92     public static final PdfName AC = new PdfName("AC");
93     /** A name */
94     public static final PdfName ACROFORM = new PdfName("AcroForm");
95     /** A name */
96     public static final PdfName ACTION = new PdfName("Action");
97     /**
98      * A name.
99      * @since 2.1.6
100      */

101     public static final PdfName ACTIVATION = new PdfName("Activation");
102     /**
103      * A name.
104      * @since 2.1.6
105      */

106     public static final PdfName ADBE = new PdfName("ADBE");
107     /**
108      * a name used in PDF structure
109      * @since 2.1.6
110      */

111     public static final PdfName ACTUALTEXT = new PdfName("ActualText");
112     /** A name */
113     public static final PdfName ADBE_PKCS7_DETACHED = new PdfName("adbe.pkcs7.detached");
114     /** A name */
115     public static final PdfName ADBE_PKCS7_S4 =new PdfName("adbe.pkcs7.s4");
116     /** A name */
117     public static final PdfName ADBE_PKCS7_S5 =new PdfName("adbe.pkcs7.s5");
118     /** A name */
119     public static final PdfName ADBE_PKCS7_SHA1 = new PdfName("adbe.pkcs7.sha1");
120     /** A name */
121     public static final PdfName ADBE_X509_RSA_SHA1 = new PdfName("adbe.x509.rsa_sha1");
122     /** A name */
123     public static final PdfName ADOBE_PPKLITE = new PdfName("Adobe.PPKLite");
124     /** A name */
125     public static final PdfName ADOBE_PPKMS = new PdfName("Adobe.PPKMS");
126     /** A name */
127     public static final PdfName AESV2 = new PdfName("AESV2");
128     /** A name */
129     public static final PdfName AIS = new PdfName("AIS");
130     /** A name */
131     public static final PdfName ALLPAGES = new PdfName("AllPages");
132     /** A name */
133     public static final PdfName ALT = new PdfName("Alt");
134     /** A name */
135     public static final PdfName ALTERNATE = new PdfName("Alternate");
136     /**
137      * A name.
138      * @since 2.1.6
139      */

140     public static final PdfName ANIMATION = new PdfName("Animation");
141     /** A name */
142     public static final PdfName ANNOT = new PdfName("Annot");
143     /** A name */
144     public static final PdfName ANNOTS = new PdfName("Annots");
145     /** A name */
146     public static final PdfName ANTIALIAS = new PdfName("AntiAlias");
147     /** A name */
148     public static final PdfName AP = new PdfName("AP");
149     /** A name */
150     public static final PdfName APPDEFAULT = new PdfName("AppDefault");
151     /**
152      * A name
153      * @since 2.1.6
154      */

155     public static final PdfName ART = new PdfName("Art");
156     /** A name */
157     public static final PdfName ARTBOX = new PdfName("ArtBox");
158     /** A name */
159     public static final PdfName ASCENT = new PdfName("Ascent");
160     /** A name */
161     public static final PdfName AS = new PdfName("AS");
162     /** A name */
163     public static final PdfName ASCII85DECODE = new PdfName("ASCII85Decode");
164     /** A name */
165     public static final PdfName ASCIIHEXDECODE = new PdfName("ASCIIHexDecode");
166     /**
167      * A name.
168      * @since 2.1.6
169      */

170     public static final PdfName ASSET = new PdfName("Asset");
171     /**
172      * A name.
173      * @since 2.1.6
174      */

175     public static final PdfName ASSETS = new PdfName("Assets");
176     /** A name */
177     public static final PdfName AUTHEVENT = new PdfName("AuthEvent");
178     /** A name */
179     public static final PdfName AUTHOR = new PdfName("Author");
180     /** A name */
181     public static final PdfName B = new PdfName("B");
182     /**
183      * A name
184      * @since    2.1.6
185      */

186     public static final PdfName BACKGROUND = new PdfName("Background");
187     /** A name */
188     public static final PdfName BASEENCODING = new PdfName("BaseEncoding");
189     /** A name */
190     public static final PdfName BASEFONT = new PdfName("BaseFont");
191     /**
192      * A name
193      * @since    2.1.6
194      */

195     public static final PdfName BASEVERSION = new PdfName("BaseVersion");
196     /** A name */
197     public static final PdfName BBOX = new PdfName("BBox");
198     /** A name */
199     public static final PdfName BC = new PdfName("BC");
200     /** A name */
201     public static final PdfName BG = new PdfName("BG");
202     /**
203      * A name
204      * @since 2.1.6
205      */

206     public static final PdfName BIBENTRY = new PdfName("BibEntry");
207     /** A name */
208     public static final PdfName BIGFIVE = new PdfName("BigFive");
209     /**
210      * A name.
211      * @since 2.1.6
212      */

213     public static final PdfName BINDING = new PdfName("Binding");
214     /**
215      * A name.
216      * @since 2.1.6
217      */

218     public static final PdfName BINDINGMATERIALNAME = new PdfName("BindingMaterialName");
219     /** A name */
220     public static final PdfName BITSPERCOMPONENT = new PdfName("BitsPerComponent");
221     /** A name */
222     public static final PdfName BITSPERSAMPLE = new PdfName("BitsPerSample");
223     /** A name */
224     public static final PdfName BL = new PdfName("Bl");
225     /** A name */
226     public static final PdfName BLACKIS1 = new PdfName("BlackIs1");
227     /** A name */
228     public static final PdfName BLACKPOINT = new PdfName("BlackPoint");
229     /**
230      * A name
231      * @since 2.1.6
232      */

233     public static final PdfName BLOCKQUOTE = new PdfName("BlockQuote");
234     /** A name */
235     public static final PdfName BLEEDBOX = new PdfName("BleedBox");
236     /** A name */
237     public static final PdfName BLINDS = new PdfName("Blinds");
238     /** A name */
239     public static final PdfName BM = new PdfName("BM");
240     /** A name */
241     public static final PdfName BORDER = new PdfName("Border");
242     /** A name */
243     public static final PdfName BOUNDS = new PdfName("Bounds");
244     /** A name */
245     public static final PdfName BOX = new PdfName("Box");
246     /** A name */
247     public static final PdfName BS = new PdfName("BS");
248     /** A name */
249     public static final PdfName BTN = new PdfName("Btn");
250     /** A name */
251     public static final PdfName BYTERANGE = new PdfName("ByteRange");
252     /** A name */
253     public static final PdfName C = new PdfName("C");
254     /** A name */
255     public static final PdfName C0 = new PdfName("C0");
256     /** A name */
257     public static final PdfName C1 = new PdfName("C1");
258     /** A name */
259     public static final PdfName CA = new PdfName("CA");
260     /** A name */
261     public static final PdfName ca = new PdfName("ca");
262     /** A name */
263     public static final PdfName CALGRAY = new PdfName("CalGray");
264     /** A name */
265     public static final PdfName CALRGB = new PdfName("CalRGB");
266     /** A name */
267     public static final PdfName CAPHEIGHT = new PdfName("CapHeight");
268     /**
269      * A name
270      * @since 2.1.6
271      */

272     public static final PdfName CAPTION = new PdfName("Caption");
273     /** A name */
274     public static final PdfName CATALOG = new PdfName("Catalog");
275     /** A name */
276     public static final PdfName CATEGORY = new PdfName("Category");
277     /** A name */
278     public static final PdfName CCITTFAXDECODE = new PdfName("CCITTFaxDecode");
279     /**
280      * A name.
281      * @since 2.1.6
282      */

283     public static final PdfName CENTER = new PdfName("Center");
284     /** A name */
285     public static final PdfName CENTERWINDOW = new PdfName("CenterWindow");
286     /** A name */
287     public static final PdfName CERT = new PdfName("Cert");
288     /** A name */
289     public static final PdfName CF = new PdfName("CF");
290     /** A name */
291     public static final PdfName CFM = new PdfName("CFM");
292     /** A name */
293     public static final PdfName CH = new PdfName("Ch");
294     /** A name */
295     public static final PdfName CHARPROCS = new PdfName("CharProcs");
296     /** A name */
297     public static final PdfName CI = new PdfName("CI");
298     /** A name */
299     public static final PdfName CIDFONTTYPE0 = new PdfName("CIDFontType0");
300     /** A name */
301     public static final PdfName CIDFONTTYPE2 = new PdfName("CIDFontType2");
302     /**
303      * A name
304      * @since 2.0.7
305      */

306     public static final PdfName CIDSET = new PdfName("CIDSet");
307     /** A name */
308     public static final PdfName CIDSYSTEMINFO = new PdfName("CIDSystemInfo");
309     /** A name */
310     public static final PdfName CIDTOGIDMAP = new PdfName("CIDToGIDMap");
311     /** A name */
312     public static final PdfName CIRCLE = new PdfName("Circle");
313     /**
314      * A name.
315      * @since 2.1.6
316      */

317     public static final PdfName CMD = new PdfName("CMD");
318     /** A name */
319     public static final PdfName CO = new PdfName("CO");
320     /**
321      * A name
322      * @since 2.1.6
323      */

324     public static final PdfName CODE = new PdfName("Code");
325     /** A name */
326     public static final PdfName COLORS = new PdfName("Colors");
327     /** A name */
328     public static final PdfName COLORSPACE = new PdfName("ColorSpace");
329     /** A name */
330     public static final PdfName COLLECTION = new PdfName("Collection");
331     /** A name */
332     public static final PdfName COLLECTIONFIELD = new PdfName("CollectionField");
333     /** A name */
334     public static final PdfName COLLECTIONITEM = new PdfName("CollectionItem");
335     /** A name */
336     public static final PdfName COLLECTIONSCHEMA = new PdfName("CollectionSchema");
337     /** A name */
338     public static final PdfName COLLECTIONSORT = new PdfName("CollectionSort");
339     /** A name */
340     public static final PdfName COLLECTIONSUBITEM = new PdfName("CollectionSubitem");
341     /** A name */
342     public static final PdfName COLUMNS = new PdfName("Columns");
343     /**
344      * A name.
345      * @since 2.1.6
346      */

347     public static final PdfName CONDITION = new PdfName("Condition");
348     /**
349      * A name.
350      * @since 2.1.6
351      */

352     public static final PdfName CONFIGURATION = new PdfName("Configuration");
353     /**
354      * A name.
355      * @since 2.1.6
356      */

357     public static final PdfName CONFIGURATIONS = new PdfName("Configurations");
358     /** A name */
359     public static final PdfName CONTACTINFO = new PdfName("ContactInfo");
360     /** A name */
361     public static final PdfName CONTENT = new PdfName("Content");
362     /** A name */
363     public static final PdfName CONTENTS = new PdfName("Contents");
364     /** A name */
365     public static final PdfName COORDS = new PdfName("Coords");
366     /** A name */
367     public static final PdfName COUNT = new PdfName("Count");
368     /** A name of a base 14 type 1 font */
369     public static final PdfName COURIER = new PdfName("Courier");
370     /** A name of a base 14 type 1 font */
371     public static final PdfName COURIER_BOLD = new PdfName("Courier-Bold");
372     /** A name of a base 14 type 1 font */
373     public static final PdfName COURIER_OBLIQUE = new PdfName("Courier-Oblique");
374     /** A name of a base 14 type 1 font */
375     public static final PdfName COURIER_BOLDOBLIQUE = new PdfName("Courier-BoldOblique");
376     /** A name */
377     public static final PdfName CREATIONDATE = new PdfName("CreationDate");
378     /** A name */
379     public static final PdfName CREATOR = new PdfName("Creator");
380     /** A name */
381     public static final PdfName CREATORINFO = new PdfName("CreatorInfo");
382     /** A name */
383     public static final PdfName CROPBOX = new PdfName("CropBox");
384     /** A name */
385     public static final PdfName CRYPT = new PdfName("Crypt");
386     /** A name */
387     public static final PdfName CS = new PdfName("CS");
388     /**
389      * A name.
390      * @since 2.1.6
391      */

392     public static final PdfName CUEPOINT = new PdfName("CuePoint");
393     /**
394      * A name.
395      * @since 2.1.6
396      */

397     public static final PdfName CUEPOINTS = new PdfName("CuePoints");
398     /** A name */
399     public static final PdfName D = new PdfName("D");
400     /** A name */
401     public static final PdfName DA = new PdfName("DA");
402     /** A name */
403     public static final PdfName DATA = new PdfName("Data");
404     /** A name */
405     public static final PdfName DC = new PdfName("DC");
406     /** A name */
407     public static final PdfName DCTDECODE = new PdfName("DCTDecode");
408     /**
409      * A name.
410      * @since 2.1.6
411      */

412     public static final PdfName DEACTIVATION = new PdfName("Deactivation");
413     /** A name */
414     public static final PdfName DECODE = new PdfName("Decode");
415     /** A name */
416     public static final PdfName DECODEPARMS = new PdfName("DecodeParms");
417     /**
418      * A name
419      * @since    2.1.6
420      */

421     public static final PdfName DEFAULT = new PdfName("Default");
422     /**
423      * A name
424      * @since    2.1.5 renamed from DEFAULTCRYPTFILER
425      */

426     public static final PdfName DEFAULTCRYPTFILTER = new PdfName("DefaultCryptFilter");
427     /** A name */
428     public static final PdfName DEFAULTCMYK = new PdfName("DefaultCMYK");
429     /** A name */
430     public static final PdfName DEFAULTGRAY = new PdfName("DefaultGray");
431     /** A name */
432     public static final PdfName DEFAULTRGB = new PdfName("DefaultRGB");
433     /** A name */
434     public static final PdfName DESC = new PdfName("Desc");
435     /** A name */
436     public static final PdfName DESCENDANTFONTS = new PdfName("DescendantFonts");
437     /** A name */
438     public static final PdfName DESCENT = new PdfName("Descent");
439     /** A name */
440     public static final PdfName DEST = new PdfName("Dest");
441     /** A name */
442     public static final PdfName DESTOUTPUTPROFILE = new PdfName("DestOutputProfile");
443     /** A name */
444     public static final PdfName DESTS = new PdfName("Dests");
445     /** A name */
446     public static final PdfName DEVICEGRAY = new PdfName("DeviceGray");
447     /** A name */
448     public static final PdfName DEVICERGB = new PdfName("DeviceRGB");
449     /** A name */
450     public static final PdfName DEVICECMYK = new PdfName("DeviceCMYK");
451     /** A name */
452     public static final PdfName DI = new PdfName("Di");
453     /** A name */
454     public static final PdfName DIFFERENCES = new PdfName("Differences");
455     /** A name */
456     public static final PdfName DISSOLVE = new PdfName("Dissolve");
457     /** A name */
458     public static final PdfName DIRECTION = new PdfName("Direction");
459     /** A name */
460     public static final PdfName DISPLAYDOCTITLE = new PdfName("DisplayDocTitle");
461     /** A name */
462     public static final PdfName DIV = new PdfName("Div");
463     /** A name */
464     public static final PdfName DM = new PdfName("Dm");
465     /** A name */
466     public static final PdfName DOCMDP = new PdfName("DocMDP");
467     /** A name */
468     public static final PdfName DOCOPEN = new PdfName("DocOpen");
469     /**
470      * A name.
471      * @since 2.1.6
472      */

473     public static final PdfName DOCUMENT = new PdfName( "Document" );
474     /** A name */
475     public static final PdfName DOMAIN = new PdfName("Domain");
476     /** A name */
477     public static final PdfName DP = new PdfName("DP");
478     /** A name */
479     public static final PdfName DR = new PdfName("DR");
480     /** A name */
481     public static final PdfName DS = new PdfName("DS");
482     /** A name */
483     public static final PdfName DUR = new PdfName("Dur");
484     /** A name */
485     public static final PdfName DUPLEX = new PdfName("Duplex");
486     /** A name */
487     public static final PdfName DUPLEXFLIPSHORTEDGE = new PdfName("DuplexFlipShortEdge");
488     /** A name */
489     public static final PdfName DUPLEXFLIPLONGEDGE = new PdfName("DuplexFlipLongEdge");
490     /** A name */
491     public static final PdfName DV = new PdfName("DV");
492     /** A name */
493     public static final PdfName DW = new PdfName("DW");
494     /** A name */
495     public static final PdfName E = new PdfName("E");
496     /** A name */
497     public static final PdfName EARLYCHANGE = new PdfName("EarlyChange");
498     /** A name */
499     public static final PdfName EF = new PdfName("EF");
500     /**
501      * A name
502      * @since    2.1.3
503      */

504     public static final PdfName EFF = new PdfName("EFF");
505     /**
506      * A name
507      * @since    2.1.3
508      */

509     public static final PdfName EFOPEN = new PdfName("EFOpen");
510     /**
511      * A name
512      * @since    2.1.6
513      */

514     public static final PdfName EMBEDDED = new PdfName("Embedded");
515     /** A name */
516     public static final PdfName EMBEDDEDFILE = new PdfName("EmbeddedFile");
517     /** A name */
518     public static final PdfName EMBEDDEDFILES = new PdfName("EmbeddedFiles");
519     /** A name */
520     public static final PdfName ENCODE = new PdfName("Encode");
521     /** A name */
522     public static final PdfName ENCODEDBYTEALIGN = new PdfName("EncodedByteAlign");
523     /** A name */
524     public static final PdfName ENCODING = new PdfName("Encoding");
525     /** A name */
526     public static final PdfName ENCRYPT = new PdfName("Encrypt");
527     /** A name */
528     public static final PdfName ENCRYPTMETADATA = new PdfName("EncryptMetadata");
529     /** A name */
530     public static final PdfName ENDOFBLOCK = new PdfName("EndOfBlock");
531     /** A name */
532     public static final PdfName ENDOFLINE = new PdfName("EndOfLine");
533     /** A name */
534     public static final PdfName EXTEND = new PdfName("Extend");
535     /**
536      * A name
537      * @since    2.1.6
538      */

539     public static final PdfName EXTENSIONS = new PdfName("Extensions");
540     /**
541      * A name
542      * @since    2.1.6
543      */

544     public static final PdfName EXTENSIONLEVEL = new PdfName("ExtensionLevel");
545     /** A name */
546     public static final PdfName EXTGSTATE = new PdfName("ExtGState");
547     /** A name */
548     public static final PdfName EXPORT = new PdfName("Export");
549     /** A name */
550     public static final PdfName EXPORTSTATE = new PdfName("ExportState");
551     /** A name */
552     public static final PdfName EVENT = new PdfName("Event");
553     /** A name */
554     public static final PdfName F = new PdfName("F");
555     /**
556      * A name.
557      * @since 2.1.6
558      */

559     public static final PdfName FAR = new PdfName("Far");
560     /** A name */
561     public static final PdfName FB = new PdfName("FB");
562     /** A name */
563     public static final PdfName FDECODEPARMS = new PdfName("FDecodeParms");
564     /** A name */
565     public static final PdfName FDF = new PdfName("FDF");
566     /** A name */
567     public static final PdfName FF = new PdfName("Ff");
568     /** A name */
569     public static final PdfName FFILTER = new PdfName("FFilter");
570     /** A name */
571     public static final PdfName FIELDS = new PdfName("Fields");
572     /**
573      * A name
574      * @since 2.1.6
575      */

576     public static final PdfName FIGURE = new PdfName( "Figure" );
577     /** A name */
578     public static final PdfName FILEATTACHMENT = new PdfName("FileAttachment");
579     /** A name */
580     public static final PdfName FILESPEC = new PdfName("Filespec");
581     /** A name */
582     public static final PdfName FILTER = new PdfName("Filter");
583     /** A name */
584     public static final PdfName FIRST = new PdfName("First");
585     /** A name */
586     public static final PdfName FIRSTCHAR = new PdfName("FirstChar");
587     /** A name */
588     public static final PdfName FIRSTPAGE = new PdfName("FirstPage");
589     /** A name */
590     public static final PdfName FIT = new PdfName("Fit");
591     /** A name */
592     public static final PdfName FITH = new PdfName("FitH");
593     /** A name */
594     public static final PdfName FITV = new PdfName("FitV");
595     /** A name */
596     public static final PdfName FITR = new PdfName("FitR");
597     /** A name */
598     public static final PdfName FITB = new PdfName("FitB");
599     /** A name */
600     public static final PdfName FITBH = new PdfName("FitBH");
601     /** A name */
602     public static final PdfName FITBV = new PdfName("FitBV");
603     /** A name */
604     public static final PdfName FITWINDOW = new PdfName("FitWindow");
605     /** A name */
606     public static final PdfName FLAGS = new PdfName("Flags");
607     /**
608      * A name.
609      * @since 2.1.6
610      */

611     public static final PdfName FLASH = new PdfName("Flash");
612     /**
613      * A name.
614      * @since 2.1.6
615      */

616     public static final PdfName FLASHVARS = new PdfName("FlashVars");
617     /** A name */
618     public static final PdfName FLATEDECODE = new PdfName("FlateDecode");
619     /** A name */
620     public static final PdfName FO = new PdfName("Fo");
621     /** A name */
622     public static final PdfName FONT = new PdfName("Font");
623     /** A name */
624     public static final PdfName FONTBBOX = new PdfName("FontBBox");
625     /** A name */
626     public static final PdfName FONTDESCRIPTOR = new PdfName("FontDescriptor");
627     /** A name */
628     public static final PdfName FONTFILE = new PdfName("FontFile");
629     /** A name */
630     public static final PdfName FONTFILE2 = new PdfName("FontFile2");
631     /** A name */
632     public static final PdfName FONTFILE3 = new PdfName("FontFile3");
633     /** A name */
634     public static final PdfName FONTMATRIX = new PdfName("FontMatrix");
635     /** A name */
636     public static final PdfName FONTNAME = new PdfName("FontName");
637     /**
638      * A name
639      * @since    2.1.6
640      */

641     public static final PdfName FOREGROUND = new PdfName("Foreground");
642     /** A name */
643     public static final PdfName FORM = new PdfName("Form");
644     /** A name */
645     public static final PdfName FORMTYPE = new PdfName("FormType");
646     /**
647      * A name
648      * @since 2.1.6
649      */

650     public static final PdfName FORMULA = new PdfName( "Formula" );
651     /** A name */
652     public static final PdfName FREETEXT = new PdfName("FreeText");
653     /** A name */
654     public static final PdfName FRM = new PdfName("FRM");
655     /** A name */
656     public static final PdfName FS = new PdfName("FS");
657     /** A name */
658     public static final PdfName FT = new PdfName("FT");
659     /** A name */
660     public static final PdfName FULLSCREEN = new PdfName("FullScreen");
661     /** A name */
662     public static final PdfName FUNCTION = new PdfName("Function");
663     /** A name */
664     public static final PdfName FUNCTIONS = new PdfName("Functions");
665     /** A name */
666     public static final PdfName FUNCTIONTYPE = new PdfName("FunctionType");
667     /** A name of an attribute. */
668     public static final PdfName GAMMA = new PdfName("Gamma");
669     /** A name of an attribute. */
670     public static final PdfName GBK = new PdfName("GBK");
671     /** A name of an attribute. */
672     public static final PdfName GLITTER = new PdfName("Glitter");
673     /** A name of an attribute. */
674     public static final PdfName GOTO = new PdfName("GoTo");
675     /** A name of an attribute. */
676     public static final PdfName GOTOE = new PdfName("GoToE");
677     /** A name of an attribute. */
678     public static final PdfName GOTOR = new PdfName("GoToR");
679     /** A name of an attribute. */
680     public static final PdfName GROUP = new PdfName("Group");
681     /** A name of an attribute. */
682     public static final PdfName GTS_PDFA1 = new PdfName("GTS_PDFA1");
683     /** A name of an attribute. */
684     public static final PdfName GTS_PDFX = new PdfName("GTS_PDFX");
685     /** A name of an attribute. */
686     public static final PdfName GTS_PDFXVERSION = new PdfName("GTS_PDFXVersion");
687     /** A name of an attribute. */
688     public static final PdfName H = new PdfName("H");
689     /**
690      * A name
691      * @since 2.1.6
692      */

693     public static final PdfName H1 = new PdfName( "H1" );
694     /**
695      * A name
696      * @since 2.1.6
697      */

698     public static final PdfName H2 = new PdfName("H2");
699     /**
700      * A name
701      * @since 2.1.6
702      */

703     public static final PdfName H3 = new PdfName("H3");
704     /**
705      * A name
706      * @since 2.1.6
707      */

708     public static final PdfName H4 = new PdfName("H4");
709     /**
710      * A name
711      * @since 2.1.6
712      */

713     public static final PdfName H5 = new PdfName("H5");
714     /**
715      * A name
716      * @since 2.1.6
717      */

718     public static final PdfName H6 = new PdfName("H6");
719
720     /**
721      * A name.
722      * @since 2.1.6
723      */

724     public static final PdfName HALIGN = new PdfName("HAlign");
725     /** A name of an attribute. */
726     public static final PdfName HEIGHT = new PdfName("Height");
727     /** A name */
728     public static final PdfName HELV = new PdfName("Helv");
729     /** A name of a base 14 type 1 font */
730     public static final PdfName HELVETICA = new PdfName("Helvetica");
731     /** A name of a base 14 type 1 font */
732     public static final PdfName HELVETICA_BOLD = new PdfName("Helvetica-Bold");
733     /** A name of a base 14 type 1 font */
734     public static final PdfName HELVETICA_OBLIQUE = new PdfName("Helvetica-Oblique");
735     /** A name of a base 14 type 1 font */
736     public static final PdfName HELVETICA_BOLDOBLIQUE = new PdfName("Helvetica-BoldOblique");
737     /** A name */
738     public static final PdfName HID = new PdfName("Hid");
739     /** A name */
740     public static final PdfName HIDE = new PdfName("Hide");
741     /** A name */
742     public static final PdfName HIDEMENUBAR = new PdfName("HideMenubar");
743     /** A name */
744     public static final PdfName HIDETOOLBAR = new PdfName("HideToolbar");
745     /** A name */
746     public static final PdfName HIDEWINDOWUI = new PdfName("HideWindowUI");
747     /** A name */
748     public static final PdfName HIGHLIGHT = new PdfName("Highlight");
749     /**
750      * A name.
751      * @since 2.1.6
752      */

753     public static final PdfName HOFFSET = new PdfName("HOffset");
754     /** A name */
755     public static final PdfName I = new PdfName("I");
756     /** A name */
757     public static final PdfName ICCBASED = new PdfName("ICCBased");
758     /** A name */
759     public static final PdfName ID = new PdfName("ID");
760     /** A name */
761     public static final PdfName IDENTITY = new PdfName("Identity");
762     /** A name */
763     public static final PdfName IF = new PdfName("IF");
764     /** A name */
765     public static final PdfName IMAGE = new PdfName("Image");
766     /** A name */
767     public static final PdfName IMAGEB = new PdfName("ImageB");
768     /** A name */
769     public static final PdfName IMAGEC = new PdfName("ImageC");
770     /** A name */
771     public static final PdfName IMAGEI = new PdfName("ImageI");
772     /** A name */
773     public static final PdfName IMAGEMASK = new PdfName("ImageMask");
774     /** A name */
775     public static final PdfName INDEX = new PdfName("Index");
776     /** A name */
777     public static final PdfName INDEXED = new PdfName("Indexed");
778     /** A name */
779     public static final PdfName INFO = new PdfName("Info");
780     /** A name */
781     public static final PdfName INK = new PdfName("Ink");
782     /** A name */
783     public static final PdfName INKLIST = new PdfName("InkList");
784     /**
785      * A name.
786      * @since 2.1.6
787      */

788     public static final PdfName INSTANCES = new PdfName("Instances");
789     /** A name */
790     public static final PdfName IMPORTDATA = new PdfName("ImportData");
791     /** A name */
792     public static final PdfName INTENT = new PdfName("Intent");
793     /** A name */
794     public static final PdfName INTERPOLATE = new PdfName("Interpolate");
795     /** A name */
796     public static final PdfName ISMAP = new PdfName("IsMap");
797     /** A name */
798     public static final PdfName IRT = new PdfName("IRT");
799     /** A name */
800     public static final PdfName ITALICANGLE = new PdfName("ItalicAngle");
801     /**
802      * A name
803      * @since    2.1.6
804      */

805     public static final PdfName ITXT = new PdfName("ITXT");
806     /** A name */
807     public static final PdfName IX = new PdfName("IX");
808     /** A name */
809     public static final PdfName JAVASCRIPT = new PdfName("JavaScript");
810     /**
811      * A name
812      * @since    2.1.5
813      */

814     public static final PdfName JBIG2DECODE = new PdfName("JBIG2Decode");
815     /**
816      * A name
817      * @since    2.1.5
818      */

819     public static final PdfName JBIG2GLOBALS = new PdfName("JBIG2Globals");
820     /** A name */
821     public static final PdfName JPXDECODE = new PdfName("JPXDecode");
822     /** A name */
823     public static final PdfName JS = new PdfName("JS");
824     /** A name */
825     public static final PdfName K = new PdfName("K");
826     /** A name */
827     public static final PdfName KEYWORDS = new PdfName("Keywords");
828     /** A name */
829     public static final PdfName KIDS = new PdfName("Kids");
830     /** A name */
831     public static final PdfName L = new PdfName("L");
832     /** A name */
833     public static final PdfName L2R = new PdfName("L2R");
834     /** A name */
835     public static final PdfName LANG = new PdfName("Lang");
836     /** A name */
837     public static final PdfName LANGUAGE = new PdfName("Language");
838     /** A name */
839     public static final PdfName LAST = new PdfName("Last");
840     /** A name */
841     public static final PdfName LASTCHAR = new PdfName("LastChar");
842     /** A name */
843     public static final PdfName LASTPAGE = new PdfName("LastPage");
844     /** A name */
845     public static final PdfName LAUNCH = new PdfName("Launch");
846     /**
847      * A name
848      * @since 2.1.6
849      */

850     public static final PdfName LBL = new PdfName("Lbl");
851     /**
852      * A name
853      * @since 2.1.6
854      */

855     public static final PdfName LBODY = new PdfName("LBody");
856     /** A name */
857     public static final PdfName LENGTH = new PdfName("Length");
858     /** A name */
859     public static final PdfName LENGTH1 = new PdfName("Length1");
860     /**
861      * A name
862      * @since 2.1.6
863      */

864     public static final PdfName LI = new PdfName("LI");
865     /** A name */
866     public static final PdfName LIMITS = new PdfName("Limits");
867     /** A name */
868     public static final PdfName LINE = new PdfName("Line");
869     /**
870      * A name.
871      * @since 2.1.6
872      */

873     public static final PdfName LINEAR = new PdfName("Linear");
874     /** A name */
875     public static final PdfName LINK = new PdfName("Link");
876     /** A name */
877     public static final PdfName LISTMODE = new PdfName("ListMode");
878     /** A name */
879     public static final PdfName LOCATION = new PdfName("Location");
880     /** A name */
881     public static final PdfName LOCK = new PdfName("Lock");
882     /**
883      * A name
884      * @since    2.1.2
885      */

886     public static final PdfName LOCKED = new PdfName("Locked");
887     /** A name */
888     public static final PdfName LZWDECODE = new PdfName("LZWDecode");
889     /** A name */
890     public static final PdfName M = new PdfName("M");
891     /**
892      * A name
893      * @since    2.1.6
894      */

895     public static final PdfName MATERIAL = new PdfName("Material");
896     /** A name */
897     public static final PdfName MATRIX = new PdfName("Matrix");
898     /** A name of an encoding */
899     public static final PdfName MAC_EXPERT_ENCODING = new PdfName("MacExpertEncoding");
900     /** A name of an encoding */
901     public static final PdfName MAC_ROMAN_ENCODING = new PdfName("MacRomanEncoding");
902     /** A name */
903     public static final PdfName MARKED = new PdfName("Marked");
904     /** A name */
905     public static final PdfName MARKINFO = new PdfName("MarkInfo");
906     /** A name */
907     public static final PdfName MASK = new PdfName("Mask");
908     /**
909      * A name
910      * @since    2.1.6 renamed from MAX
911      */

912     public static final PdfName MAX_LOWER_CASE = new PdfName("max");
913     /**
914      * A name
915      * @since    2.1.6
916      */

917     public static final PdfName MAX_CAMEL_CASE = new PdfName("Max");
918     /** A name */
919     public static final PdfName MAXLEN = new PdfName("MaxLen");
920     /** A name */
921     public static final PdfName MEDIABOX = new PdfName("MediaBox");
922     /** A name */
923     public static final PdfName MCID = new PdfName("MCID");
924     /** A name */
925     public static final PdfName MCR = new PdfName("MCR");
926     /** A name */
927     public static final PdfName METADATA = new PdfName("Metadata");
928     /**
929      * A name
930      * @since    2.1.6 renamed from MIN
931      */

932     public static final PdfName MIN_LOWER_CASE = new PdfName("min");
933     /**
934      * A name
935      * @since    2.1.6
936      */

937     public static final PdfName MIN_CAMEL_CASE = new PdfName("Min");
938     /** A name */
939     public static final PdfName MK = new PdfName("MK");
940     /** A name */
941     public static final PdfName MMTYPE1 = new PdfName("MMType1");
942     /** A name */
943     public static final PdfName MODDATE = new PdfName("ModDate");
944     /** A name */
945     public static final PdfName N = new PdfName("N");
946     /** A name */
947     public static final PdfName N0 = new PdfName("n0");
948     /** A name */
949     public static final PdfName N1 = new PdfName("n1");
950     /** A name */
951     public static final PdfName N2 = new PdfName("n2");
952     /** A name */
953     public static final PdfName N3 = new PdfName("n3");
954     /** A name */
955     public static final PdfName N4 = new PdfName("n4");
956     /** A name */
957     public static final PdfName NAME = new PdfName("Name");
958     /** A name */
959     public static final PdfName NAMED = new PdfName("Named");
960     /** A name */
961     public static final PdfName NAMES = new PdfName("Names");
962     /**
963      * A name.
964      * @since 2.1.6
965      */

966     public static final PdfName NAVIGATION = new PdfName("Navigation");
967     /**
968      * A name.
969      * @since 2.1.6
970      */

971     public static final PdfName NAVIGATIONPANE = new PdfName("NavigationPane");
972     /**
973      * A name.
974      * @since 2.1.6
975      */

976     public static final PdfName NEAR = new PdfName("Near");
977     /** A name */
978     public static final PdfName NEEDAPPEARANCES = new PdfName("NeedAppearances");
979     /** A name */
980     public static final PdfName NEWWINDOW = new PdfName("NewWindow");
981     /** A name */
982     public static final PdfName NEXT = new PdfName("Next");
983     /** A name */
984     public static final PdfName NEXTPAGE = new PdfName("NextPage");
985     /** A name */
986     public static final PdfName NM = new PdfName("NM");
987     /** A name */
988     public static final PdfName NONE = new PdfName("None");
989     /** A name */
990     public static final PdfName NONFULLSCREENPAGEMODE = new PdfName("NonFullScreenPageMode");
991     /**
992      * A name
993      * @since 2.1.6
994      */

995     public static final PdfName NONSTRUCT = new PdfName("NonStruct");
996     /**
997      * A name
998      * @since 2.1.6
999      */

1000     public static final PdfName NOTE = new PdfName("Note");
1001     /** A name */
1002     public static final PdfName NUMCOPIES = new PdfName("NumCopies");
1003     /** A name */
1004     public static final PdfName NUMS = new PdfName("Nums");
1005     /** A name */
1006     public static final PdfName O = new PdfName("O");
1007     /**
1008      * A name used with Document Structure
1009      * @since 2.1.5
1010      */

1011     public static final PdfName OBJ = new PdfName("Obj");
1012     /**
1013      * a name used with Doucment Structure
1014      * @since 2.1.5
1015      */

1016     public static final PdfName OBJR = new PdfName("OBJR");
1017     /** A name */
1018     public static final PdfName OBJSTM = new PdfName("ObjStm");
1019     /** A name */
1020     public static final PdfName OC = new PdfName("OC");
1021     /** A name */
1022     public static final PdfName OCG = new PdfName("OCG");
1023     /** A name */
1024     public static final PdfName OCGS = new PdfName("OCGs");
1025     /** A name */
1026     public static final PdfName OCMD = new PdfName("OCMD");
1027     /** A name */
1028     public static final PdfName OCPROPERTIES = new PdfName("OCProperties");
1029     /** A name */
1030     public static final PdfName Off = new PdfName("Off");
1031     /** A name */
1032     public static final PdfName OFF = new PdfName("OFF");
1033     /** A name */
1034     public static final PdfName ON = new PdfName("ON");
1035     /** A name */
1036     public static final PdfName ONECOLUMN = new PdfName("OneColumn");
1037     /** A name */
1038     public static final PdfName OPEN = new PdfName("Open");
1039     /** A name */
1040     public static final PdfName OPENACTION = new PdfName("OpenAction");
1041     /** A name */
1042     public static final PdfName OP = new PdfName("OP");
1043     /** A name */
1044     public static final PdfName op = new PdfName("op");
1045     /** A name */
1046     public static final PdfName OPM = new PdfName("OPM");
1047     /** A name */
1048     public static final PdfName OPT = new PdfName("Opt");
1049     /** A name */
1050     public static final PdfName ORDER = new PdfName("Order");
1051     /** A name */
1052     public static final PdfName ORDERING = new PdfName("Ordering");
1053     /**
1054      * A name.
1055      * @since 2.1.6
1056      */

1057     public static final PdfName OSCILLATING = new PdfName("Oscillating");
1058     
1059     /** A name */
1060     public static final PdfName OUTLINES = new PdfName("Outlines");
1061     /** A name */
1062     public static final PdfName OUTPUTCONDITION = new PdfName("OutputCondition");
1063     /** A name */
1064     public static final PdfName OUTPUTCONDITIONIDENTIFIER = new PdfName("OutputConditionIdentifier");
1065     /** A name */
1066     public static final PdfName OUTPUTINTENT = new PdfName("OutputIntent");
1067     /** A name */
1068     public static final PdfName OUTPUTINTENTS = new PdfName("OutputIntents");
1069     /** A name */
1070     public static final PdfName P = new PdfName("P");
1071     /** A name */
1072     public static final PdfName PAGE = new PdfName("Page");
1073     /** A name */
1074     public static final PdfName PAGELABELS = new PdfName("PageLabels");
1075     /** A name */
1076     public static final PdfName PAGELAYOUT = new PdfName("PageLayout");
1077     /** A name */
1078     public static final PdfName PAGEMODE = new PdfName("PageMode");
1079     /** A name */
1080     public static final PdfName PAGES = new PdfName("Pages");
1081     /** A name */
1082     public static final PdfName PAINTTYPE = new PdfName("PaintType");
1083     /** A name */
1084     public static final PdfName PANOSE = new PdfName("Panose");
1085     /** A name */
1086     public static final PdfName PARAMS = new PdfName("Params");
1087     /** A name */
1088     public static final PdfName PARENT = new PdfName("Parent");
1089     /** A name */
1090     public static final PdfName PARENTTREE = new PdfName("ParentTree");
1091     /**
1092      * A name used in defining Document Structure.
1093      * @since 2.1.5
1094      */

1095     public static final PdfName PARENTTREENEXTKEY = new PdfName( "ParentTreeNextKey" );
1096     /**
1097      * A name
1098      * @since 2.1.6
1099      */

1100     public static final PdfName PART = new PdfName( "Part" );
1101     /**
1102      * A name.
1103      * @since 2.1.6
1104      */

1105     public static final PdfName PASSCONTEXTCLICK = new PdfName("PassContextClick");
1106     /** A name */
1107     public static final PdfName PATTERN = new PdfName("Pattern");
1108     /** A name */
1109     public static final PdfName PATTERNTYPE = new PdfName("PatternType");
1110     /**
1111      * A name.
1112      * @since 2.1.6
1113      */

1114     public static final PdfName PC = new PdfName("PC");
1115     /** A name */
1116     public static final PdfName PDF = new PdfName("PDF");
1117     /** A name */
1118     public static final PdfName PDFDOCENCODING = new PdfName("PDFDocEncoding");
1119     /** A name */
1120     public static final PdfName PERCEPTUAL = new PdfName("Perceptual");
1121     /** A name */
1122     public static final PdfName PERMS = new PdfName("Perms");
1123     /** A name */
1124     public static final PdfName PG = new PdfName("Pg");
1125     /**
1126      * A name.
1127      * @since 2.1.6
1128      */

1129     public static final PdfName PI = new PdfName("PI");
1130     /** A name */
1131     public static final PdfName PICKTRAYBYPDFSIZE = new PdfName("PickTrayByPDFSize");
1132     /**
1133      * A name.
1134      * @since 2.1.6
1135      */

1136     public static final PdfName PLAYCOUNT = new PdfName("PlayCount");
1137     /**
1138      * A name.
1139      * @since 2.1.6
1140      */

1141     public static final PdfName PO = new PdfName("PO");
1142     /** A name */
1143     public static final PdfName POPUP = new PdfName("Popup");
1144     /**
1145      * A name.
1146      * @since 2.1.6
1147      */

1148     public static final PdfName POSITION = new PdfName("Position");
1149     /** A name */
1150     public static final PdfName PREDICTOR = new PdfName("Predictor");
1151     /** A name */
1152     public static final PdfName PREFERRED = new PdfName("Preferred");
1153     /**
1154      * A name.
1155      * @since 2.1.6
1156      */

1157     public static final PdfName PRESENTATION = new PdfName("Presentation");
1158     /** A name */
1159     public static final PdfName PRESERVERB = new PdfName("PreserveRB");
1160     /** A name */
1161     public static final PdfName PREV = new PdfName("Prev");
1162     /** A name */
1163     public static final PdfName PREVPAGE = new PdfName("PrevPage");
1164     /** A name */
1165     public static final PdfName PRINT = new PdfName("Print");
1166     /** A name */
1167     public static final PdfName PRINTAREA = new PdfName("PrintArea");
1168     /** A name */
1169     public static final PdfName PRINTCLIP = new PdfName("PrintClip");
1170     /** A name */
1171     public static final PdfName PRINTPAGERANGE = new PdfName("PrintPageRange");
1172     /** A name */
1173     public static final PdfName PRINTSCALING = new PdfName("PrintScaling");
1174     /** A name */
1175     public static final PdfName PRINTSTATE = new PdfName("PrintState");
1176     /**
1177      * A name
1178      * @since 2.1.6
1179      */

1180     public static final PdfName PRIVATE = new PdfName("Private");
1181     /** A name */
1182     public static final PdfName PROCSET = new PdfName("ProcSet");
1183     /** A name */
1184     public static final PdfName PRODUCER = new PdfName("Producer");
1185     /** A name */
1186     public static final PdfName PROPERTIES = new PdfName("Properties");
1187     /** A name */
1188     public static final PdfName PS = new PdfName("PS");
1189     /** A name */
1190     public static final PdfName PUBSEC = new PdfName("Adobe.PubSec");
1191     /**
1192      * A name.
1193      * @since 2.1.6
1194      */

1195     public static final PdfName PV = new PdfName("PV");
1196     /** A name */
1197     public static final PdfName Q = new PdfName("Q");
1198     /** A name */
1199     public static final PdfName QUADPOINTS = new PdfName("QuadPoints");
1200     /**
1201      * A name
1202      * @since 2.1.6
1203      */

1204     public static final PdfName QUOTE = new PdfName("Quote");
1205     /** A name */
1206     public static final PdfName R = new PdfName("R");
1207     /** A name */
1208     public static final PdfName R2L = new PdfName("R2L");
1209     /** A name */
1210     public static final PdfName RANGE = new PdfName("Range");
1211     /** A name */
1212     public static final PdfName RC = new PdfName("RC");
1213     /** A name */
1214     public static final PdfName RBGROUPS = new PdfName("RBGroups");
1215     /** A name */
1216     public static final PdfName REASON = new PdfName("Reason");
1217     /** A name */
1218     public static final PdfName RECIPIENTS = new PdfName("Recipients");
1219     /** A name */
1220     public static final PdfName RECT = new PdfName("Rect");
1221     /** A name */
1222     public static final PdfName REFERENCE = new PdfName("Reference");
1223     /** A name */
1224     public static final PdfName REGISTRY = new PdfName("Registry");
1225     /** A name */
1226     public static final PdfName REGISTRYNAME = new PdfName("RegistryName");
1227     /**
1228      * A name
1229      * @since    2.1.5 renamed from RELATIVECALORIMETRIC
1230      */

1231     public static final PdfName RELATIVECOLORIMETRIC = new PdfName("RelativeColorimetric");
1232     /** A name */
1233     public static final PdfName RENDITION = new PdfName("Rendition");
1234     /** A name */
1235     public static final PdfName RESETFORM = new PdfName("ResetForm");
1236     /** A name */
1237     public static final PdfName RESOURCES = new PdfName("Resources");
1238     /** A name */
1239     public static final PdfName RI = new PdfName("RI");
1240     /**
1241      * A name.
1242      * @since 2.1.6
1243      */

1244     public static final PdfName RICHMEDIA = new PdfName("RichMedia");
1245     /**
1246      * A name.
1247      * @since 2.1.6
1248      */

1249     public static final PdfName RICHMEDIAACTIVATION = new PdfName("RichMediaActivation");
1250     /**
1251      * A name.
1252      * @since 2.1.6
1253      */

1254     public static final PdfName RICHMEDIAANIMATION = new PdfName("RichMediaAnimation");
1255     /**
1256      * A name
1257      * @since    2.1.6
1258      */

1259     public static final PdfName RICHMEDIACOMMAND = new PdfName("RichMediaCommand");
1260     /**
1261      * A name.
1262      * @since 2.1.6
1263      */

1264     public static final PdfName RICHMEDIACONFIGURATION = new PdfName("RichMediaConfiguration");
1265     /**
1266      * A name.
1267      * @since 2.1.6
1268      */

1269     public static final PdfName RICHMEDIACONTENT = new PdfName("RichMediaContent");
1270     /**
1271      * A name.
1272      * @since 2.1.6
1273      */

1274     public static final PdfName RICHMEDIADEACTIVATION = new PdfName("RichMediaDeactivation");
1275     /**
1276      * A name.
1277      * @since 2.1.6
1278      */

1279     public static final PdfName RICHMEDIAEXECUTE = new PdfName("RichMediaExecute");
1280     /**
1281      * A name.
1282      * @since 2.1.6
1283      */

1284     public static final PdfName RICHMEDIAINSTANCE = new PdfName("RichMediaInstance");
1285     /**
1286      * A name.
1287      * @since 2.1.6
1288      */

1289     public static final PdfName RICHMEDIAPARAMS = new PdfName("RichMediaParams");
1290     /**
1291      * A name.
1292      * @since 2.1.6
1293      */

1294     public static final PdfName RICHMEDIAPOSITION = new PdfName("RichMediaPosition");
1295     /**
1296      * A name.
1297      * @since 2.1.6
1298      */

1299     public static final PdfName RICHMEDIAPRESENTATION = new PdfName("RichMediaPresentation");
1300     /**
1301      * A name.
1302      * @since 2.1.6
1303      */

1304     public static final PdfName RICHMEDIASETTINGS = new PdfName("RichMediaSettings");
1305     /**
1306      * A name.
1307      * @since 2.1.6
1308      */

1309     public static final PdfName RICHMEDIAWINDOW = new PdfName("RichMediaWindow");
1310     /** A name */
1311     public static final PdfName ROLEMAP = new PdfName("RoleMap");
1312     /** A name */
1313     public static final PdfName ROOT = new PdfName("Root");
1314     /** A name */
1315     public static final PdfName ROTATE = new PdfName("Rotate");
1316     /** A name */
1317     public static final PdfName ROWS = new PdfName("Rows");
1318     /**
1319      * A name
1320      * @since 2.1.6
1321      */

1322     public static final PdfName RUBY = new PdfName( "Ruby" );
1323     /** A name */
1324     public static final PdfName RUNLENGTHDECODE = new PdfName("RunLengthDecode");
1325     /** A name */
1326     public static final PdfName RV = new PdfName("RV");
1327     /** A name */
1328     public static final PdfName S = new PdfName("S");
1329     /** A name */
1330     public static final PdfName SATURATION = new PdfName("Saturation");
1331     /** A name */
1332     public static final PdfName SCHEMA = new PdfName("Schema");
1333     /** A name */
1334     public static final PdfName SCREEN = new PdfName("Screen");
1335     /**
1336      * A name.
1337      * @since 2.1.6
1338      */

1339     public static final PdfName SCRIPTS = new PdfName("Scripts");
1340     /** A name */
1341     public static final PdfName SECT = new PdfName("Sect");
1342     /** A name */
1343     public static final PdfName SEPARATION = new PdfName("Separation");
1344     /** A name */
1345     public static final PdfName SETOCGSTATE = new PdfName("SetOCGState");
1346     /**
1347      * A name.
1348      * @since 2.1.6
1349      */

1350     public static final PdfName SETTINGS = new PdfName("Settings");
1351     /** A name */
1352     public static final PdfName SHADING = new PdfName("Shading");
1353     /** A name */
1354     public static final PdfName SHADINGTYPE = new PdfName("ShadingType");
1355     /** A name */
1356     public static final PdfName SHIFT_JIS = new PdfName("Shift-JIS");
1357     /** A name */
1358     public static final PdfName SIG = new PdfName("Sig");
1359     /** A name */
1360     public static final PdfName SIGFLAGS = new PdfName("SigFlags");
1361     /** A name */
1362     public static final PdfName SIGREF = new PdfName("SigRef");
1363     /** A name */
1364     public static final PdfName SIMPLEX = new PdfName("Simplex");
1365     /** A name */
1366     public static final PdfName SINGLEPAGE = new PdfName("SinglePage");
1367     /** A name */
1368     public static final PdfName SIZE = new PdfName("Size");
1369     /** A name */
1370     public static final PdfName SMASK = new PdfName("SMask");
1371     /** A name */
1372     public static final PdfName SORT = new PdfName("Sort");
1373     /**
1374      * A name.
1375      * @since 2.1.6
1376      */

1377     public static final PdfName SOUND = new PdfName("Sound");
1378     /** A name */
1379     public static final PdfName SPAN = new PdfName("Span");
1380     /**
1381      * A name.
1382      * @since 2.1.6
1383      */

1384     public static final PdfName SPEED = new PdfName("Speed");
1385     /** A name */
1386     public static final PdfName SPLIT = new PdfName("Split");
1387     /** A name */
1388     public static final PdfName SQUARE = new PdfName("Square");
1389     /**
1390      * A name
1391      * @since 2.1.3
1392      */

1393     public static final PdfName SQUIGGLY = new PdfName("Squiggly");
1394     /** A name */
1395     public static final PdfName ST = new PdfName("St");
1396     /** A name */
1397     public static final PdfName STAMP = new PdfName("Stamp");
1398     /** A name */
1399     public static final PdfName STANDARD = new PdfName("Standard");
1400     /** A name */
1401     public static final PdfName STATE = new PdfName("State");
1402     /** A name */
1403     public static final PdfName STDCF = new PdfName("StdCF");
1404     /** A name */
1405     public static final PdfName STEMV = new PdfName("StemV");
1406     /** A name */
1407     public static final PdfName STMF = new PdfName("StmF");
1408     /** A name */
1409     public static final PdfName STRF = new PdfName("StrF");
1410     /** A name */
1411     public static final PdfName STRIKEOUT = new PdfName("StrikeOut");
1412     /** A name */
1413     public static final PdfName STRUCTPARENT = new PdfName("StructParent");
1414     /** A name */
1415     public static final PdfName STRUCTPARENTS = new PdfName("StructParents");
1416     /** A name */
1417     public static final PdfName STRUCTTREEROOT = new PdfName("StructTreeRoot");
1418     /** A name */
1419     public static final PdfName STYLE = new PdfName("Style");
1420     /** A name */
1421     public static final PdfName SUBFILTER = new PdfName("SubFilter");
1422     /** A name */
1423     public static final PdfName SUBJECT = new PdfName("Subject");
1424     /** A name */
1425     public static final PdfName SUBMITFORM = new PdfName("SubmitForm");
1426     /** A name */
1427     public static final PdfName SUBTYPE = new PdfName("Subtype");
1428     /** A name */
1429     public static final PdfName SUPPLEMENT = new PdfName("Supplement");
1430     /** A name */
1431     public static final PdfName SV = new PdfName("SV");
1432     /** A name */
1433     public static final PdfName SW = new PdfName("SW");
1434     /** A name of a base 14 type 1 font */
1435     public static final PdfName SYMBOL = new PdfName("Symbol");
1436     /** A name */
1437     public static final PdfName T = new PdfName("T");
1438     /**
1439      * A name
1440      * @since    2.1.6
1441      */

1442     public static final PdfName TA = new PdfName("TA");
1443     /**
1444      * A name
1445      * @since 2.1.6
1446      */

1447     public static final PdfName TABLE = new PdfName("Table");
1448     /**
1449      * A name
1450      * @since    2.1.5
1451      */

1452     public static final PdfName TABS = new PdfName("Tabs");
1453     /**
1454      * A name
1455      * @since 2.1.6
1456      */

1457     public static final PdfName TBODY = new PdfName("TBody");
1458     /**
1459      * A name
1460      * @since 2.1.6
1461      */

1462     public static final PdfName TD = new PdfName("TD");
1463     /** A name */
1464     public static final PdfName TEXT = new PdfName("Text");
1465     /**
1466      * A name
1467      * @since 2.1.6
1468      */

1469     public static final PdfName TFOOT = new PdfName("TFoot");
1470     /**
1471      * A name
1472      * @since 2.1.6
1473      */

1474     public static final PdfName TH = new PdfName("TH");
1475     /**
1476      * A name
1477      * @since 2.1.6
1478      */

1479     public static final PdfName THEAD = new PdfName("THead");
1480     /** A name */
1481     public static final PdfName THUMB = new PdfName("Thumb");
1482     /** A name */
1483     public static final PdfName THREADS = new PdfName("Threads");
1484     /** A name */
1485     public static final PdfName TI = new PdfName("TI");
1486     /**
1487      * A name
1488      * @since    2.1.6
1489      */

1490     public static final PdfName TIME = new PdfName("Time");
1491     /** A name */
1492     public static final PdfName TILINGTYPE = new PdfName("TilingType");
1493     /** A name of a base 14 type 1 font */
1494     public static final PdfName TIMES_ROMAN = new PdfName("Times-Roman");
1495     /** A name of a base 14 type 1 font */
1496     public static final PdfName TIMES_BOLD = new PdfName("Times-Bold");
1497     /** A name of a base 14 type 1 font */
1498     public static final PdfName TIMES_ITALIC = new PdfName("Times-Italic");
1499     /** A name of a base 14 type 1 font */
1500     public static final PdfName TIMES_BOLDITALIC = new PdfName("Times-BoldItalic");
1501     /** A name */
1502     public static final PdfName TITLE = new PdfName("Title");
1503     /** A name */
1504     public static final PdfName TK = new PdfName("TK");
1505     /** A name */
1506     public static final PdfName TM = new PdfName("TM"); 
1507     /**
1508      * A name
1509      * @since 2.1.6
1510      */

1511     public static final PdfName TOC = new PdfName("TOC");
1512     /**
1513      * A name
1514      * @since 2.1.6
1515      */

1516     public static final PdfName TOCI = new PdfName("TOCI");
1517     /** A name */
1518     public static final PdfName TOGGLE = new PdfName("Toggle");
1519     /**
1520      * A name.
1521      * @since 2.1.6
1522      */

1523     public static final PdfName TOOLBAR = new PdfName("Toolbar");
1524     /** A name */
1525     public static final PdfName TOUNICODE = new PdfName("ToUnicode");
1526     /** A name */
1527     public static final PdfName TP = new PdfName("TP");
1528     /**
1529      * A name
1530      * @since 2.1.6
1531      */

1532     public static final PdfName TABLEROW = new PdfName( "TR" );
1533     /** A name */
1534     public static final PdfName TRANS = new PdfName("Trans");
1535     /** A name */
1536     public static final PdfName TRANSFORMPARAMS = new PdfName("TransformParams");
1537     /** A name */
1538     public static final PdfName TRANSFORMMETHOD = new PdfName("TransformMethod");
1539     /** A name */
1540     public static final PdfName TRANSPARENCY = new PdfName("Transparency");
1541     /**
1542      * A name.
1543      * @since 2.1.6
1544      */

1545     public static final PdfName TRANSPARENT = new PdfName("Transparent");
1546     /** A name */
1547     public static final PdfName TRAPPED = new PdfName("Trapped");
1548     /** A name */
1549     public static final PdfName TRIMBOX = new PdfName("TrimBox");
1550     /** A name */
1551     public static final PdfName TRUETYPE = new PdfName("TrueType");
1552     /** A name */
1553     public static final PdfName TU = new PdfName("TU");
1554     /** A name */
1555     public static final PdfName TWOCOLUMNLEFT = new PdfName("TwoColumnLeft");
1556     /** A name */
1557     public static final PdfName TWOCOLUMNRIGHT = new PdfName("TwoColumnRight");
1558     /** A name */
1559     public static final PdfName TWOPAGELEFT = new PdfName("TwoPageLeft");
1560     /** A name */
1561     public static final PdfName TWOPAGERIGHT = new PdfName("TwoPageRight");
1562     /** A name */
1563     public static final PdfName TX = new PdfName("Tx");
1564     /** A name */
1565     public static final PdfName TYPE = new PdfName("Type");
1566     /** A name */
1567     public static final PdfName TYPE0 = new PdfName("Type0");
1568     /** A name */
1569     public static final PdfName TYPE1 = new PdfName("Type1");
1570     /** A name of an attribute. */
1571     public static final PdfName TYPE3 = new PdfName("Type3");
1572     /** A name of an attribute. */
1573     public static final PdfName U = new PdfName("U");
1574     /** A name of an attribute. */
1575     public static final PdfName UF = new PdfName("UF");
1576     /** A name of an attribute. */
1577     public static final PdfName UHC = new PdfName("UHC");
1578     /** A name of an attribute. */
1579     public static final PdfName UNDERLINE = new PdfName("Underline");
1580     /** A name */
1581     public static final PdfName UR = new PdfName("UR");
1582     /** A name */
1583     public static final PdfName UR3 = new PdfName("UR3");
1584     /** A name */
1585     public static final PdfName URI = new PdfName("URI");
1586     /** A name */
1587     public static final PdfName URL = new PdfName("URL");
1588     /** A name */
1589     public static final PdfName USAGE = new PdfName("Usage");
1590     /** A name */
1591     public static final PdfName USEATTACHMENTS = new PdfName("UseAttachments");
1592     /** A name */
1593     public static final PdfName USENONE = new PdfName("UseNone");
1594     /** A name */
1595     public static final PdfName USEOC = new PdfName("UseOC");
1596     /** A name */
1597     public static final PdfName USEOUTLINES = new PdfName("UseOutlines");
1598     /** A name */
1599     public static final PdfName USER = new PdfName("User");
1600     /** A name */
1601     public static final PdfName USERPROPERTIES = new PdfName("UserProperties");
1602     /** A name */
1603     public static final PdfName USERUNIT = new PdfName("UserUnit");
1604     /** A name */
1605     public static final PdfName USETHUMBS = new PdfName("UseThumbs");
1606     /** A name */
1607     public static final PdfName V = new PdfName("V");
1608     /** A name */
1609     public static final PdfName V2 = new PdfName("V2");
1610     /**
1611      * A name.
1612      * @since 2.1.6
1613      */

1614     public static final PdfName VALIGN = new PdfName("VAlign");
1615     /** A name */
1616     public static final PdfName VERISIGN_PPKVS = new PdfName("VeriSign.PPKVS");
1617     /** A name */
1618     public static final PdfName VERSION = new PdfName("Version");
1619     /**
1620      * A name.
1621      * @since 2.1.6
1622      */

1623     public static final PdfName VIDEO = new PdfName("Video");
1624     /** A name */
1625     public static final PdfName VIEW = new PdfName("View");
1626     /**
1627      * A name.
1628      * @since 2.1.6
1629      */

1630     public static final PdfName VIEWS = new PdfName("Views");
1631     /** A name */
1632     public static final PdfName VIEWAREA = new PdfName("ViewArea");
1633     /** A name */
1634     public static final PdfName VIEWCLIP = new PdfName("ViewClip");
1635     /** A name */
1636     public static final PdfName VIEWERPREFERENCES = new PdfName("ViewerPreferences");
1637     /** A name */
1638     public static final PdfName VIEWSTATE = new PdfName("ViewState");
1639     /** A name */
1640     public static final PdfName VISIBLEPAGES = new PdfName("VisiblePages");
1641     /**
1642      * A name.
1643      * @since 2.1.6
1644      */

1645     public static final PdfName VOFFSET = new PdfName("VOffset");
1646     /** A name of an attribute. */
1647     public static final PdfName W = new PdfName("W");
1648     /** A name of an attribute. */
1649     public static final PdfName W2 = new PdfName("W2");
1650     /**
1651      * A name
1652      * @since 2.1.6
1653      */

1654     public static final PdfName WARICHU = new PdfName("Warichu");
1655     /** A name of an attribute. */
1656     public static final PdfName WC = new PdfName("WC");
1657     /** A name of an attribute. */
1658     public static final PdfName WIDGET = new PdfName("Widget");
1659     /** A name of an attribute. */
1660     public static final PdfName WIDTH = new PdfName("Width");
1661     /** A name */
1662     public static final PdfName WIDTHS = new PdfName("Widths");
1663     /** A name of an encoding */
1664     public static final PdfName WIN = new PdfName("Win");
1665     /** A name of an encoding */
1666     public static final PdfName WIN_ANSI_ENCODING = new PdfName("WinAnsiEncoding");
1667     /**
1668      * A name.
1669      * @since 2.1.6
1670      */

1671     public static final PdfName WINDOW = new PdfName("Window");
1672     /**
1673      * A name.
1674      * @since 2.1.6
1675      */

1676     public static final PdfName WINDOWED = new PdfName("Windowed");
1677     /** A name of an encoding */
1678     public static final PdfName WIPE = new PdfName("Wipe");
1679     /** A name */
1680     public static final PdfName WHITEPOINT = new PdfName("WhitePoint");
1681     /** A name */
1682     public static final PdfName WP = new PdfName("WP");
1683     /** A name of an encoding */
1684     public static final PdfName WS = new PdfName("WS");
1685     /** A name */
1686     public static final PdfName X = new PdfName("X");
1687     /**
1688      * A name.
1689      * @since 2.1.6
1690      */

1691     public static final PdfName XA = new PdfName("XA");
1692     /**
1693      * A name.
1694      * @since 2.1.6
1695      */

1696     public static final PdfName XD = new PdfName("XD");
1697     /** A name */
1698     public static final PdfName XFA = new PdfName("XFA");
1699     /** A name */
1700     public static final PdfName XML = new PdfName("XML");
1701     /** A name */
1702     public static final PdfName XOBJECT = new PdfName("XObject");
1703     /** A name */
1704     public static final PdfName XSTEP = new PdfName("XStep");
1705     /** A name */
1706     public static final PdfName XREF = new PdfName("XRef");
1707     /** A name */
1708     public static final PdfName XREFSTM = new PdfName("XRefStm");
1709     /** A name */
1710     public static final PdfName XYZ = new PdfName("XYZ");
1711     /** A name */
1712     public static final PdfName YSTEP = new PdfName("YStep");
1713     /** A name */
1714     public static final PdfName ZADB = new PdfName("ZaDb");
1715     /** A name of a base 14 type 1 font */
1716     public static final PdfName ZAPFDINGBATS = new PdfName("ZapfDingbats");
1717     /** A name */
1718     public static final PdfName ZOOM = new PdfName("Zoom");
1719
1720     /**
1721      * map strings to all known static names
1722      * @since 2.1.6
1723      */

1724     public static Map staticNames;
1725
1726     /**
1727      * Use reflection to cache all the static public final names so
1728      * future <code>PdfName</code> additions don't have to be "added twice".
1729      * A bit less efficient (around 50ms spent here on a 2.2ghz machine),
1730      *  but Much Less error prone.
1731      * @since 2.1.6
1732      */

1733
1734     static {
1735         Field fields[] = PdfName.class.getDeclaredFields();
1736         staticNames = new HashMap( fields.length );
1737         final int flags = Modifier.STATIC | Modifier.PUBLIC | Modifier.FINAL;
1738         try {
1739             for (int fldIdx = 0; fldIdx < fields.length; ++fldIdx) {
1740                 Field curFld = fields[fldIdx];
1741                 if ((curFld.getModifiers() & flags) == flags &&
1742                     curFld.getType().equals( PdfName.class )) {
1743                     PdfName name = (PdfName)curFld.get( null );
1744                     staticNames.put( decodeName( name.toString() ), name );
1745                 }
1746             }
1747         } catch (Exception e) {
1748             e.printStackTrace();
1749         }
1750     }
1751     // CLASS VARIABLES
1752
1753     private int hash = 0;
1754
1755     // CONSTRUCTORS
1756
1757     /**
1758      * Constructs a new <CODE>PdfName</CODE>. The name length will be checked.
1759      *
1760      * @param name the new name
1761      */

1762     public PdfName(String name) {
1763         this(name, true);
1764     }
1765
1766     /**
1767      * Constructs a new <CODE>PdfName</CODE>.
1768      * @param name the new name
1769      * @param lengthCheck if <CODE>true</CODE> check the length validity,
1770      * if <CODE>false</CODE> the name can have any length
1771      */

1772     public PdfName(String name, boolean lengthCheck) {
1773         super(PdfObject.NAME);
1774         // The minimum number of characters in a name is 0, the maximum is 127 (the '/' not included)
1775         int length = name.length();
1776         if (lengthCheck && length > 127)
1777             throw new IllegalArgumentException("The name '" + name + "' is too long (" + length + " characters).");
1778         bytes = encodeName(name);
1779     }
1780
1781     /**
1782      * Constructs a PdfName.
1783      *
1784      * @param bytes the byte representation of the name
1785      */

1786     public PdfName(byte bytes[]) {
1787         super(PdfObject.NAME, bytes);
1788     }
1789
1790     // CLASS METHODS
1791
1792     /**
1793      * Compares this object with the specified object for order.
1794      * Returns a negative integer, zero, or a positive integer as this object
1795      * is less than, equal to, or greater than the specified object.<p>
1796      *
1797      * @param object the Object to be compared.
1798      * @return a negative integer, zero, or a positive integer as this object
1799      * is less than, equal to, or greater than the specified object.
1800      * @throws ClassCastException if the specified object's type prevents it
1801      * from being compared to this Object.
1802      */

1803     public int compareTo(Object object) {
1804         PdfName name = (PdfName) object;
1805         byte myBytes[] = bytes;
1806         byte objBytes[] = name.bytes;
1807         int len = Math.min(myBytes.length, objBytes.length);
1808         for(int i = 0; i < len; i++) {
1809             if (myBytes[i] > objBytes[i])
1810                 return 1;
1811             if (myBytes[i] < objBytes[i])
1812                 return -1;
1813         }
1814         if (myBytes.length < objBytes.length)
1815             return -1;
1816         if (myBytes.length > objBytes.length)
1817             return 1;
1818         return 0;
1819     }
1820
1821     /**
1822      * Indicates whether some other object is "equal to" this one.
1823      *
1824      * @param   obj   the reference object with which to compare.
1825      * @return  <code>true</code> if this object is the same as the obj
1826      * argument; <code>false</code> otherwise.
1827      */

1828     public boolean equals(Object obj) {
1829         if (this == obj)
1830             return true;
1831         if (obj instanceof PdfName)
1832             return compareTo(obj) == 0;
1833         return false;
1834     }
1835
1836     /**
1837      * Returns a hash code value for the object.
1838      * This method is supported for the benefit of hashtables such as those provided by
1839      * <code>java.util.Hashtable</code>.
1840      *
1841      * @return  a hash code value for this object.
1842      */

1843     public int hashCode() {
1844         int h = hash;
1845         if (h == 0) {
1846             int ptr = 0;
1847             int len = bytes.length;
1848             for (int i = 0; i < len; i++)
1849                 h = 31*h + (bytes[ptr++] & 0xff);
1850             hash = h;
1851         }
1852         return h;
1853     }
1854
1855     /**
1856      * Encodes a plain name given in the unescaped form "AB CD" into "/AB#20CD".
1857      *
1858      * @param name the name to encode
1859      * @return the encoded name
1860      * @since    2.1.5
1861      */

1862     public static byte[] encodeName(String name) {
1863         int length = name.length();
1864         ByteBuffer buf = new ByteBuffer(length + 20);
1865         buf.append('/');
1866         char c;
1867         char chars[] = name.toCharArray();
1868         for (int k = 0; k < length; k++) {
1869             c = (char)(chars[k] & 0xff);
1870             // Escape special characters
1871             switch (c) {
1872                 case ' ':
1873                 case '%':
1874                 case '(':
1875                 case ')':
1876                 case '<':
1877                 case '>':
1878                 case '[':
1879                 case ']':
1880                 case '{':
1881                 case '}':
1882                 case '/':
1883                 case '#':
1884                     buf.append('#');
1885                     buf.append(Integer.toString(c, 16));
1886                     break;
1887                 default:
1888                     if (c >= 32 && c <= 126)
1889                         buf.append(c);
1890                     else {
1891                         buf.append('#');
1892                         if (c < 16)
1893                             buf.append('0');
1894                         buf.append(Integer.toString(c, 16));
1895                     }
1896                     break;
1897                 }
1898             }
1899         return buf.toByteArray();
1900     }
1901
1902     /**
1903      * Decodes an escaped name given in the form "/AB#20CD" into "AB CD".
1904      *
1905      * @param name the name to decode
1906      * @return the decoded name
1907      */

1908     public static String decodeName(String name) {
1909         StringBuffer buf = new StringBuffer();
1910         try {
1911             int len = name.length();
1912             for (int k = 1; k < len; ++k) {
1913                 char c = name.charAt(k);
1914                 if (c == '#') {
1915                     char c1 = name.charAt(k + 1);
1916                     char c2 = name.charAt(k + 2);
1917                     c = (char)((PRTokeniser.getHex(c1) << 4) + PRTokeniser.getHex(c2));
1918                     k += 2;
1919                 }
1920                 buf.append(c);
1921             }
1922         }
1923         catch (IndexOutOfBoundsException e) {
1924             // empty on purpose
1925         }
1926         return buf.toString();
1927     }
1928 }
1929