@SuppressWarnings("unchecked")
	private void readConfigFile() {
		ResourceFile xmlFile = Application.findDataFileInAnyModule("charset_info.xml");
		try (InputStream xmlInputStream = xmlFile.getInputStream()) {
			SAXBuilder sax = XmlUtilities.createSecureSAXBuilder(false, false);
			Document doc = sax.build(xmlInputStream);
			Element root = doc.getRootElement();
			for (Element child : (List<Element>) root.getChildren("charset")) {
				try {
					String name = child.getAttributeValue("name");
					if (name == null || name.trim().isEmpty()) {
						throw new IOException("Bad charset definition in " + xmlFile);
					}
					if (!Charset.isSupported(name)) {
						Msg.warn(this,
							"Unsupported charset defined in " + xmlFile.getName() + ": " + name);
					}

					int charSize = XmlUtilities.parseBoundedIntAttr(child, "charSize", 1, 8);

					addCharset(name, charSize);
				}
				catch (NumberFormatException nfe) {
					throw new IOException("Invalid charset definition in " + xmlFile);
				}
			}
		}
		catch (JDOMException | IOException e) {
			Msg.showError(this, null, "Error reading charset data", e.getMessage(), e);
		}

	}
Returns list of {@link Charset}s that encode with the number of bytes specified.
@param size the number of bytes for the {@link Charset} encoding.
@return Charsets that encode one byte characters.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/data/CharsetInfo.java