diff options
Diffstat (limited to 'src/java/org/apache/fop/fonts/NamedCharacter.java')
-rw-r--r-- | src/java/org/apache/fop/fonts/NamedCharacter.java | 142 |
1 files changed, 0 insertions, 142 deletions
diff --git a/src/java/org/apache/fop/fonts/NamedCharacter.java b/src/java/org/apache/fop/fonts/NamedCharacter.java deleted file mode 100644 index 9877ec6ec..000000000 --- a/src/java/org/apache/fop/fonts/NamedCharacter.java +++ /dev/null @@ -1,142 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* $Id$ */ - -package org.apache.fop.fonts; - -import org.apache.xmlgraphics.fonts.Glyphs; - -import org.apache.fop.util.CharUtilities; - -/** - * Represents an named character with character name (from the Adobe glyph list) and a Unicode - * sequence that this character represents. - */ -public class NamedCharacter { - - private String charName; - private String unicodeSequence; - - /** - * Main constructor. - * @param charName the character name - * @param unicodeSequence the Unicode sequence associated with this character - */ - public NamedCharacter(String charName, String unicodeSequence) { - if (charName == null) { - throw new NullPointerException("charName must not be null"); - } - this.charName = charName; - if (unicodeSequence != null) { - this.unicodeSequence = unicodeSequence; - } else { - this.unicodeSequence = Glyphs.getUnicodeSequenceForGlyphName(charName); - } - } - - /** - * Simple constructor. - * @param charName the character name - */ - public NamedCharacter(String charName) { - this(charName, null); - } - - /** {@inheritDoc} */ - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((charName == null) ? 0 : charName.hashCode()); - return result; - } - - /** {@inheritDoc} */ - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - final NamedCharacter other = (NamedCharacter)obj; - return charName.equals(other.charName); - } - - /** - * Returns the character name (as defined by the Adobe glyph list). - * @return the character name - */ - public String getName() { - return this.charName; - } - - /** - * Returns the Unicode sequence associated with this character. - * @return the Unicode sequence (or null if no Unicode sequence is associated) - */ - public String getUnicodeSequence() { - return this.unicodeSequence; - } - - /** - * Indicates whether a single Unicode value is associated with this character. - * @return true if exactly one Unicode value is associated with this character, false otherwise - */ - public boolean hasSingleUnicodeValue() { - return (this.unicodeSequence != null && this.unicodeSequence.length() == 1); - } - - /** - * Returns the single Unicode value associated with this named character. Check - * {@link #hasSingleUnicodeValue()} before you call this method because an - * IllegalStateException is thrown is a Unicode sequence with more than one character is - * associated with this character. - * @return the single Unicode value (or FFFF ("NOT A CHARACTER") if no Unicode value is - * available) - * @throws IllegalStateException if a Unicode sequence with more than one value is associated - * with the named character - */ - public char getSingleUnicodeValue() throws IllegalStateException { - if (this.unicodeSequence == null) { - return CharUtilities.NOT_A_CHARACTER; - } - if (this.unicodeSequence.length() > 1) { - throw new IllegalStateException("getSingleUnicodeValue() may not be called for a" - + " named character that has more than one Unicode value (a sequence)" - + " associated with the named character!"); - } - return this.unicodeSequence.charAt(0); - } - - /** {@inheritDoc} */ - public String toString() { - StringBuffer sb = new StringBuffer(this.unicodeSequence); - sb.append(" ("); - if (this.unicodeSequence != null) { - for (int i = 0, c = this.unicodeSequence.length(); i < c; i++) { - sb.append("0x").append(Integer.toHexString(this.unicodeSequence.charAt(0))); - } - sb.append(", "); - } - sb.append(getName()).append(')'); - return sb.toString(); - } -} |