Skip to content

Commit

Permalink
Add getNameKeyUnicodeValue method
Browse files Browse the repository at this point in the history
  • Loading branch information
MaximPlusov committed Sep 2, 2024
1 parent e8a1d63 commit df916a2
Show file tree
Hide file tree
Showing 6 changed files with 23 additions and 1 deletion.
1 change: 1 addition & 0 deletions src/main/java/org/verapdf/cos/COSBase.java
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@ public void setObjectKey(COSKey indirectKey) {
public abstract boolean setStringKey(final ASAtom key, final String value);
public abstract ASAtom getNameKey(final ASAtom key);
public abstract String getNameKeyStringValue(final ASAtom key);
public abstract String getNameKeyUnicodeValue(final ASAtom key);
public abstract boolean setNameKey(final ASAtom key, final ASAtom value);
public abstract boolean setArrayKey(final ASAtom key);
public abstract boolean setArrayKey(final ASAtom key, final COSObject array);
Expand Down
6 changes: 6 additions & 0 deletions src/main/java/org/verapdf/cos/COSDictionary.java
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,12 @@ public final String getNameKeyStringValue(final ASAtom key) {
return value != null ? value.getValue() : null;
}

@Override
public final String getNameKeyUnicodeValue(final ASAtom key) {
ASAtom value = getNameKey(key);
return value != null ? ((COSName)COSName.fromValue(value)).getUnicodeValue() : null;
}

@Override
public boolean setNameKey(final ASAtom key, final ASAtom value) {
COSObject obj = new COSObject();
Expand Down
6 changes: 6 additions & 0 deletions src/main/java/org/verapdf/cos/COSDirect.java
Original file line number Diff line number Diff line change
Expand Up @@ -238,6 +238,12 @@ public String getNameKeyStringValue(final ASAtom key) {
return null;
}

@Override
public String getNameKeyUnicodeValue(final ASAtom key) {
LOGGER.log(Level.FINE, String.format(INVALID_TYPE_MESSAGE, COS_DICTIONARY_TYPE, getClass().toString()));
return null;
}

@Override
public boolean setNameKey(final ASAtom key, final ASAtom value) {
return false;
Expand Down
5 changes: 5 additions & 0 deletions src/main/java/org/verapdf/cos/COSIndirect.java
Original file line number Diff line number Diff line change
Expand Up @@ -301,6 +301,11 @@ public String getNameKeyStringValue(final ASAtom key) {
return getDirect().getNameKeyStringValue(key);
}

@Override
public String getNameKeyUnicodeValue(final ASAtom key) {
return getDirect().getNameKeyUnicodeValue(key);
}

@Override
public boolean setNameKey(final ASAtom key, final ASAtom value) {
getDirect().setNameKey(key, value);
Expand Down
4 changes: 4 additions & 0 deletions src/main/java/org/verapdf/cos/COSObject.java
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,10 @@ public String getNameKeyStringValue(final ASAtom key) {
return this.base != null ? this.base.getNameKeyStringValue(key) : null;
}

public String getNameKeyUnicodeValue(final ASAtom key) {
return this.base != null ? this.base.getNameKeyUnicodeValue(key) : null;
}

public void setNameKey(final ASAtom key, final ASAtom value) {
if (value != null && (this.base == null || !this.base.setNameKey(key, value))) {
this.base = new COSDictionary(key, value);
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/org/verapdf/pd/font/PDFont.java
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ public PDFont(COSDictionary dictionary) {
} else {
fontDescriptor = new PDFontDescriptor(null);
}
this.fontName = this.dictionary.getNameKeyStringValue(ASAtom.BASE_FONT);
this.fontName = this.dictionary.getNameKeyUnicodeValue(ASAtom.BASE_FONT);
this.fontNameWithoutSubset = fontName != null ? (fontName.matches("^[A-Z]{6}+.+") ? fontName.substring(7) : fontName) : null;
if (!(this instanceof PDType3Font)) {
this.boundingBox = fontDescriptor.getFontBoundingBox();
Expand Down

0 comments on commit df916a2

Please sign in to comment.