CFFEncoding.java (pdfbox-2.0.23-src) | : | CFFEncoding.java (pdfbox-2.0.24-src) | ||
---|---|---|---|---|
skipping to change at line 21 | skipping to change at line 21 | |||
* Unless required by applicable law or agreed to in writing, software | * Unless required by applicable law or agreed to in writing, software | |||
* distributed under the License is distributed on an "AS IS" BASIS, | * distributed under the License is distributed on an "AS IS" BASIS, | |||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
* See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | |||
* limitations under the License. | * limitations under the License. | |||
*/ | */ | |||
package org.apache.fontbox.cff; | package org.apache.fontbox.cff; | |||
import org.apache.fontbox.encoding.Encoding; | import org.apache.fontbox.encoding.Encoding; | |||
import java.util.HashMap; | ||||
import java.util.Map; | ||||
/** | /** | |||
* A CFF Type 1-equivalent Encoding. An encoding is an array of codes associated with some or all | * A CFF Type 1-equivalent Encoding. An encoding is an array of codes associated with some or all | |||
* glyphs in a font | * glyphs in a font | |||
* | * | |||
* @author John Hewson | * @author John Hewson | |||
*/ | */ | |||
public abstract class CFFEncoding extends Encoding | public abstract class CFFEncoding extends Encoding | |||
{ | { | |||
private final Map<Integer, String> codeToName = new HashMap<Integer, String> | ||||
(250); | ||||
/** | /** | |||
* Package-private constructor for subclasses. | * Package-private constructor for subclasses. | |||
*/ | */ | |||
CFFEncoding() | CFFEncoding() | |||
{ | { | |||
} | } | |||
/** | /** | |||
* Returns the name of the glyph for the given character code. | ||||
* | ||||
* @param code character code | ||||
* @return PostScript glyph name | ||||
*/ | ||||
@Override | ||||
public String getName(int code) | ||||
{ | ||||
String name = codeToName.get(code); | ||||
if (name == null) | ||||
{ | ||||
return ".notdef"; | ||||
} | ||||
return name; | ||||
} | ||||
/** | ||||
* Adds a new code/SID combination to the encoding. | * Adds a new code/SID combination to the encoding. | |||
* @param code the given code | * @param code the given code | |||
* @param sid the given SID | * @param sid the given SID | |||
*/ | */ | |||
public void add(int code, int sid, String name) | public void add(int code, int sid, String name) | |||
{ | { | |||
codeToName.put(code, name); | ||||
addCharacterEncoding(code, name); | addCharacterEncoding(code, name); | |||
} | } | |||
/** | /** | |||
* For use by subclasses only. | * For use by subclasses only. | |||
*/ | */ | |||
protected void add(int code, int sid) | protected void add(int code, int sid) | |||
{ | { | |||
String name = CFFStandardString.getName(sid); | addCharacterEncoding(code, CFFStandardString.getName(sid)); | |||
codeToName.put(code, name); | ||||
addCharacterEncoding(code, name); | ||||
} | } | |||
} | } | |||
End of changes. 5 change blocks. | ||||
27 lines changed or deleted | 1 lines changed or added |