private String getStringFromUserDict(String key) { COSObject string = userDict.get(ASAtom.getASAtom(key)); return string == null ? null : string.getString(); }
private static Boolean checkCOSStringProperty(COSObject string, Map<ASAtom, Object> properties, ASAtom checksRule) { final Object value = properties.get(checksRule); if (value != null) { if (value instanceof String) { return Boolean.valueOf(value.equals(string.getString())); } else if (value instanceof List) { List<?> list = (List<?>) value; return Boolean.valueOf(list.size() == 1 && list.get(0).equals(string.getString())); } else if (value instanceof Calendar) { final Calendar valueDate = TypeConverter.parseDate(string.getString()); return Boolean.valueOf(valueDate != null && valueDate.compareTo((Calendar) value) == 0); } } return Boolean.FALSE; } }
public String getString() { return getDirect().getString(); }
public String getStringKey(final ASAtom key) { return getKey(key).getString(); }
private void def() { if (operandStack.size() > 1) { COSObject value = operandStack.pop(); COSObject key = operandStack.pop(); COSObjType keyType = key.getType(); if (keyType == COSObjType.COS_NAME || keyType == COSObjType.COS_STRING) { // any object can be key, but we support only COSName and COSString this.userDict.put(ASAtom.getASAtom(key.getString()), value); } } }
public GFPDSeparation(org.verapdf.pd.colors.PDSeparation simplePDObject) { super(simplePDObject, SEPARATION_TYPE); String name = simplePDObject.getColorantName().getString(); if (StaticContainers.getSeparations().containsKey(name)) { StaticContainers.getSeparations().get(name).add(this); } else { final List<GFPDSeparation> separationList = new ArrayList<>(); separationList.add(this); StaticContainers.getSeparations().put(name, separationList); } }
/** * @return the string defining the namespace name. */ public String getNS() { COSObject obj = this.getKey(ASAtom.NS); if (obj != null && obj.getType() == COSObjType.COS_STRING) { return obj.getString(); } return null; }
private String getStringValue(ASAtom key) { COSObject base = getKey(key); if (base != null && base.getType() == COSObjType.COS_STRING) { return base.getString(); } return null; } }
private void createCIDToNameTable() throws IOException { this.encodingMappingArray = new String[256]; if (this.encoding.getType() == COSObjType.COS_NAME) { if (ASAtom.MAC_ROMAN_ENCODING.getValue().equals(this.encoding.getString())) { System.arraycopy(TrueTypePredefined.MAC_ROMAN_ENCODING, 0, encodingMappingArray, 0, 256); } else if (ASAtom.WIN_ANSI_ENCODING.getValue().equals(this.encoding.getString())) { System.arraycopy(TrueTypePredefined.WIN_ANSI_ENCODING, 0, encodingMappingArray, 0, 256); } else { throw new IOException("Error in reading /Encoding entry in font dictionary"); } } else if (this.encoding.getType() == COSObjType.COS_DICT) { createCIDToNameTableFromDict((COSDictionary) this.encoding.getDirectBase()); } else { throw new IOException("Error in reading /Encoding entry in font dictionary"); } }
private void load() throws PostScriptException { COSObject key = popTopObject(); if (key.getType() == COSObjType.COS_STRING || key.getType() == COSObjType.COS_NAME) { ASAtom mapKey = ASAtom.getASAtom(key.getString()); if (userDict.containsKey(mapKey)) { operandStack.push(userDict.get(mapKey)); } return; } throw new PostScriptException("Can't execute load operator"); }
@Override public String getFilter() { if (cosEmbFile != null && cosEmbFile.getType().isDictionaryBased()) { COSObject filter = cosEmbFile.getKey(ASAtom.FILTER); if (filter != null && !filter.empty()) { if (filter.getType() == COSObjType.COS_NAME) { return filter.getString(); } else if (filter.getType() == COSObjType.COS_ARRAY) { StringBuilder builder = new StringBuilder(); for (COSObject elem : (COSArray) filter.getDirectBase()) { String elemValue = elem.getString(); if (elemValue != null) { builder.append(elemValue).append(" "); } } return builder.toString().trim(); } } } return null; }
/** * @return string representation of the CIDtoGIDMap entry ("Identity", or * "Custom" in case of stream value). */ @Override public String getCIDToGIDMap() { COSObject cidToGidObject = ((org.verapdf.pd.font.PDCIDFont) this.pdFont).getCIDToGIDMap(); if (cidToGidObject.getType() == COSObjType.COS_STREAM) { return CUSTOM; } if (cidToGidObject.getType() == COSObjType.COS_NAME && IDENTITY.equals(cidToGidObject.getString())) { return IDENTITY; } return null; }
private void initializeEncoding() { COSObject encoding = this.getObjectFromUserDict(ASAtom.getASAtom( Type1StringConstants.ENCODING_STRING)); if (encoding != null) { if (encoding.getType() == COSObjType.COS_ARRAY) { int pointer = 0; for (COSObject obj : ((COSArray) encoding.get())) { if (pointer < 256) { String glyphName = obj.getString(); this.encoding[pointer++] = glyphName == null ? "" : glyphName; } } } else if (encoding.getType() == COSObjType.COS_NAME) { if (Type1StringConstants.STANDARD_ENCODING_STRING.equals(encoding.getString())) { this.encoding = TrueTypePredefined.STANDARD_ENCODING; } } } }
public static String getStringFromCOSObject(COSObject object) { if (object != null && !object.empty() && (object.getType() == COSObjType.COS_NAME || object.getType() == COSObjType.COS_STRING)) { return object.getString(); } return null; } }
private Map<String, COSObject> parseNames() { COSObject names = getKey(ASAtom.NAMES); if (names != null && names.getType() == COSObjType.COS_ARRAY) { Map<String, COSObject> res = new LinkedHashMap<>(); for (int i = 0; i < names.size(); i+=2) { COSObject keyObj = names.at(i); String key = keyObj == null ? null : keyObj.getString(); if (key != null) { COSObject value = names.at(i+1); res.put(key, value); } } return res; } return Collections.emptyMap(); } }
@Override public String getValue() { COSObject value = this.formField.getV(); if (value == null || value.empty()) { return null; } else { COSObjType type = value.getType(); switch (type) { case COS_BOOLEAN: return String.valueOf(value.getBoolean()); case COS_STRING: case COS_NAME: return value.getString(); case COS_INTEGER: return String.valueOf(value.getInteger()); case COS_REAL: return String.valueOf(value.getReal()); default: return valueMap.containsKey(type) ? valueMap.get(type) : null; } } }
public ASInputStream getLookup() { COSObject object = getObject().at(3); if (object != null) { COSObjType type = object.getType(); if (type == COSObjType.COS_STRING) { return new ASMemoryInStream(object.getString().getBytes()); } else if (type == COSObjType.COS_STREAM) { return object.getData(COSStream.FilterFlags.DECODE); } } return null; }
/** * @return name of this CMap. */ public String getCMapName() { if (this.getObject().getType() == COSObjType.COS_NAME) { return getObject().getString(); } if (this.getObject().getType() == COSObjType.COS_STREAM) { COSObject cMapName = this.getObject().getKey(ASAtom.CMAPNAME); if (!cMapName.empty()) { return cMapName.getString(); } } return ""; }
@Override public String getEncoding() { if (font != null && !font.empty()) { COSObject enc = font.getEncoding(); if (enc.getType() == COSObjType.COS_NAME) { return enc.getString(); } else if (enc.getType() == COSObjType.COS_DICT) { ASAtom name = enc.getNameKey(ASAtom.BASE_ENCODING); return name == null ? null : name.getValue(); } } return null; }
private String getCMapID() { if (this.getObject().getType() == COSObjType.COS_STREAM) { return "CMap " + getObject().getObjectKey().toString(); } else if (this.getObject().getType() == COSObjType.COS_NAME) { return getObject().getString(); } return ""; }