// Copyright 2001, FreeHEP. package org.freehep.graphicsio.cgm; import java.io.IOException; /** * CharacterSetList TAG. * * @author Mark Donszelmann * @author Charles Loomis * @version $Id: CharacterSetList.java 8584 2006-08-10 23:06:37Z duns $ */ public class CharacterSetList extends CGMTag { public static final int GSET_94 = 0; public static final int GSET_96 = 1; public static final int GSET_94_MULTIBYTE = 2; public static final int GSET_96_MULTIBYTE = 3; public static final int COMPLETE = 4; private int[] type; private String[] designation; public CharacterSetList() { super(1, 14, 1); } public CharacterSetList(int[] type, String[] designation) { this(); this.type = type; this.designation = designation; } public void write(int tagID, CGMOutputStream cgm) throws IOException { for (int i = 0; i < type.length; i++) { cgm.writeEnumerate(type[i]); cgm.writeString(designation[i]); } } public void write(int tagID, CGMWriter cgm) throws IOException { cgm.println("CHARSETLIST"); cgm.indent(); for (int i = 0; i < type.length; i++) { switch (type[i]) { default: case GSET_94: cgm.print("STD94"); break; case GSET_96: cgm.print("STD96"); break; case GSET_94_MULTIBYTE: cgm.print("STD94MULTIBYTE"); break; case GSET_96_MULTIBYTE: cgm.print("STD96MULTIBYTE"); break; case COMPLETE: cgm.print("COMPLETECODE"); break; } cgm.print(", "); cgm.writeString(designation[i]); cgm.println(); } cgm.outdent(); } }