home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &… the Search for Life CD 3 / 0_CD-ROM.iso / install / jre1_3 / lib / rt.jar / sun / java2d / SunGraphicsEnvironment.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  11.6 KB  |  656 lines

  1. package sun.java2d;
  2.  
  3. import java.awt.Component;
  4. import java.awt.Font;
  5. import java.awt.Graphics2D;
  6. import java.awt.GraphicsDevice;
  7. import java.awt.GraphicsEnvironment;
  8. import java.awt.font.TextAttribute;
  9. import java.awt.image.BufferedImage;
  10. import java.awt.print.PrinterJob;
  11. import java.io.BufferedInputStream;
  12. import java.io.File;
  13. import java.io.FileInputStream;
  14. import java.io.FilenameFilter;
  15. import java.io.InputStream;
  16. import java.security.AccessController;
  17. import java.text.AttributedCharacterIterator;
  18. import java.util.Hashtable;
  19. import java.util.Locale;
  20. import java.util.Map;
  21. import java.util.MissingResourceException;
  22. import java.util.NoSuchElementException;
  23. import java.util.Properties;
  24. import java.util.ResourceBundle;
  25. import java.util.StringTokenizer;
  26. import java.util.TreeMap;
  27. import java.util.Vector;
  28. import sun.awt.font.NativeFontWrapper;
  29. import sun.awt.image.BufferedImageGraphics2D;
  30. import sun.io.CharacterEncoding;
  31.  
  32. public abstract class SunGraphicsEnvironment extends GraphicsEnvironment {
  33.    private static final boolean debugMapping = false;
  34.    private Properties fprops;
  35.    private TreeMap terminalNames;
  36.    private boolean loadedAllFonts = false;
  37.    protected String fontPath;
  38.    protected TreeMap registeredFonts = new TreeMap();
  39.    protected String osVersion = this.getOsVersion();
  40.    private Hashtable mapFamilyCache;
  41.    protected boolean loadNativeFonts = false;
  42.    GraphicsDevice[] screens;
  43.    private Font[] allFonts;
  44.    private static final String systemBundle = "java.text.resources.LocaleElements";
  45.  
  46.    public SunGraphicsEnvironment() {
  47.       AccessController.doPrivileged(new 1(this));
  48.    }
  49.  
  50.    protected String getOsVersion() {
  51.       return System.getProperty("os.version");
  52.    }
  53.  
  54.    protected synchronized void loadFonts() {
  55.       if (!this.loadedAllFonts) {
  56.          AccessController.doPrivileged(new 2(this));
  57.       }
  58.    }
  59.  
  60.    public synchronized GraphicsDevice[] getScreenDevices() {
  61.       GraphicsDevice[] var1 = this.screens;
  62.       if (var1 == null) {
  63.          int var2 = this.getNumScreens();
  64.          var1 = new GraphicsDevice[var2];
  65.  
  66.          for(int var3 = 0; var3 < var2; ++var3) {
  67.             var1[var3] = this.makeScreenDevice(var3);
  68.          }
  69.  
  70.          this.screens = var1;
  71.       }
  72.  
  73.       return var1;
  74.    }
  75.  
  76.    protected abstract int getNumScreens();
  77.  
  78.    protected abstract GraphicsDevice makeScreenDevice(int var1);
  79.  
  80.    public GraphicsDevice getDefaultScreenDevice() {
  81.       return this.getScreenDevices()[0];
  82.    }
  83.  
  84.    public Graphics2D createGraphics(BufferedImage var1) {
  85.       return new BufferedImageGraphics2D(var1, (Component)null);
  86.    }
  87.  
  88.    public Font[] getAllFonts() {
  89.       if (this.allFonts != null) {
  90.          return this.allFonts;
  91.       } else {
  92.          this.loadFonts();
  93.          Font[] var1 = null;
  94.          String[] var2 = null;
  95.          int var3 = NativeFontWrapper.getNumFonts();
  96.          if (var3 > 0) {
  97.             TreeMap var4 = new TreeMap();
  98.  
  99.             for(int var5 = 0; var5 < var3; ++var5) {
  100.                String var6 = NativeFontWrapper.getFullNameByIndex(var5);
  101.                var4.put(var6, (Object)null);
  102.             }
  103.  
  104.             if (var4.size() > 0) {
  105.                var2 = new String[var4.size()];
  106.                Object[] var9 = var4.keySet().toArray();
  107.  
  108.                for(int var7 = 0; var7 < var9.length; ++var7) {
  109.                   var2[var7] = (String)var9[var7];
  110.                }
  111.             }
  112.          }
  113.  
  114.          if (var2 != null) {
  115.             var1 = new Font[var2.length];
  116.  
  117.             for(int var8 = 0; var8 < var2.length; ++var8) {
  118.                var1[var8] = new Font(var2[var8], 0, 1);
  119.             }
  120.          }
  121.  
  122.          this.allFonts = var1;
  123.          return this.allFonts;
  124.       }
  125.    }
  126.  
  127.    public String[] getAvailableFontFamilyNames(Locale var1) {
  128.       this.loadFonts();
  129.       String[] var2 = null;
  130.       int var3 = NativeFontWrapper.getNumFonts();
  131.       short var4 = getLcidFromLocale(var1);
  132.       if (var3 > 0) {
  133.          TreeMap var5 = new TreeMap();
  134.  
  135.          for(int var6 = 0; var6 < var3; ++var6) {
  136.             String var7 = NativeFontWrapper.getFamilyNameByIndex(var6, var4);
  137.             String var8 = var7.toLowerCase();
  138.             if (!var8.endsWith(".bold") && !var8.endsWith(".bolditalic") && !var8.endsWith(".italic")) {
  139.                var5.put(var8, var7);
  140.             }
  141.          }
  142.  
  143.          String var10 = "Serif";
  144.          var5.put(var10.toLowerCase(), var10);
  145.          var10 = "SansSerif";
  146.          var5.put(var10.toLowerCase(), var10);
  147.          var10 = "Monospaced";
  148.          var5.put(var10.toLowerCase(), var10);
  149.          var10 = "Dialog";
  150.          var5.put(var10.toLowerCase(), var10);
  151.          var10 = "DialogInput";
  152.          var5.put(var10.toLowerCase(), var10);
  153.          var10 = "Default";
  154.          var5.put(var10.toLowerCase(), var10);
  155.          if (var5.size() > 0) {
  156.             var2 = new String[var5.size()];
  157.             Object[] var16 = var5.keySet().toArray();
  158.  
  159.             for(int var9 = 0; var9 < var16.length; ++var9) {
  160.                var2[var9] = (String)var5.get(var16[var9]);
  161.             }
  162.          }
  163.       }
  164.  
  165.       return var2;
  166.    }
  167.  
  168.    public String[] getAvailableFontFamilyNames() {
  169.       return this.getAvailableFontFamilyNames(Locale.getDefault());
  170.    }
  171.  
  172.    public String mapFamilyName(String var1, int var2) {
  173.       String var4 = var1.toLowerCase(Locale.ENGLISH);
  174.       if (!this.terminalNames.containsKey(var4)) {
  175.          this.loadFonts();
  176.       }
  177.  
  178.       String var3 = this.mapFamilyNameAll(var1, var2);
  179.       return var3;
  180.    }
  181.  
  182.    public String mapFamilyNameAll(String var1, int var2) {
  183.       String var3 = var1.toLowerCase();
  184.       if (null != this.mapFamilyCache) {
  185.          String var4 = (String)this.mapFamilyCache.get(var3 + styleStr(var2));
  186.          if (null != var4) {
  187.             return var4;
  188.          }
  189.       }
  190.  
  191.       if (this.fprops == null) {
  192.          return var1;
  193.       } else {
  194.          String var11 = this.fprops.getProperty("alias." + var3);
  195.          if (var11 == null) {
  196.             var11 = var1;
  197.          }
  198.  
  199.          Object[] var5 = this.fprops.keySet().toArray();
  200.          int var6 = var5.length;
  201.          int var7 = 0;
  202.  
  203.          do {
  204.             String var8 = var11.toLowerCase();
  205.             if (this.terminalNames.containsKey(var8 + "." + styleStr(var2))) {
  206.                var11 = var8 + "." + styleStr(var2);
  207.                break;
  208.             }
  209.  
  210.             if (var2 == 0 && this.terminalNames.containsKey(var8)) {
  211.                break;
  212.             }
  213.  
  214.             String var9 = var8 + "." + styleStr(var2) + ".0";
  215.             String var10 = this.fprops.getProperty(var9);
  216.             if (var10 == null) {
  217.                var9 = var8 + ".0";
  218.                var10 = this.fprops.getProperty(var9);
  219.             }
  220.  
  221.             if (var10 == null) {
  222.                break;
  223.             }
  224.  
  225.             var11 = this.parseFamilyNameProperty(var10);
  226.             ++var7;
  227.          } while(var7 < var6);
  228.  
  229.          if (null == this.mapFamilyCache) {
  230.             this.mapFamilyCache = new Hashtable(5, 0.9F);
  231.          }
  232.  
  233.          if (null != this.mapFamilyCache) {
  234.             this.mapFamilyCache.put(var3 + styleStr(var2), var11);
  235.          }
  236.  
  237.          return var11;
  238.       }
  239.    }
  240.  
  241.    protected String parseFamilyNameProperty(String var1) {
  242.       int var2 = var1.indexOf(",");
  243.       if (var2 == -1) {
  244.          var2 = var1.length();
  245.       }
  246.  
  247.       return var1.substring(0, var2);
  248.    }
  249.  
  250.    protected String getFontPropertyFD(String var1) {
  251.       return this.parseFamilyNameProperty(var1);
  252.    }
  253.  
  254.    protected String getFileNameFromPlatformName(String var1) {
  255.       if (this.fprops == null) {
  256.          return null;
  257.       } else {
  258.          var1 = var1.replace(' ', '_');
  259.          return this.fprops.getProperty("filename." + var1);
  260.       }
  261.    }
  262.  
  263.    public PrinterJob getPrinterJob() {
  264.       (new Exception()).printStackTrace();
  265.       return null;
  266.    }
  267.  
  268.    private boolean registerFonts(String var1) {
  269.       boolean var2 = false;
  270.       StringTokenizer var3 = new StringTokenizer(var1, File.pathSeparator);
  271.  
  272.       try {
  273.          while(var3.hasMoreTokens()) {
  274.             String var4 = var3.nextToken();
  275.             this.registerFontPath(var4);
  276.             var2 |= this.addPathFonts(var4, new TTFilter(this), 0);
  277.             var2 |= this.addPathFonts(var4, new T1Filter(this), 1);
  278.             var2 |= this.addPathFonts(var4, new T2KFilter(this), 2);
  279.          }
  280.       } catch (NoSuchElementException var5) {
  281.          System.err.println(var5);
  282.       }
  283.  
  284.       return var2;
  285.    }
  286.  
  287.    private void registerFontFile(String var1, String var2) {
  288.       if (!this.registeredFonts.containsKey(var1)) {
  289.          byte var3;
  290.          if ((new TTFilter(this)).accept((File)null, var1)) {
  291.             var3 = 0;
  292.          } else if ((new T1Filter(this)).accept((File)null, var1)) {
  293.             var3 = 1;
  294.          } else {
  295.             if (!(new T2KFilter(this)).accept((File)null, var1)) {
  296.                this.registerNative(var1);
  297.                return;
  298.             }
  299.  
  300.             var3 = 2;
  301.          }
  302.  
  303.          StringTokenizer var4 = new StringTokenizer(this.fontPath, File.pathSeparator);
  304.  
  305.          try {
  306.             while(var4.hasMoreTokens()) {
  307.                String var5 = var4.nextToken();
  308.                File var6 = new File(var5, var1);
  309.                if (var6.canRead()) {
  310.                   Vector var7 = new Vector(20, 10);
  311.                   Vector var8 = new Vector(20, 10);
  312.                   var8.addElement(var2);
  313.                   var7.addElement(var6.getAbsolutePath());
  314.                   this.registeredFonts.put(var1, var6.getAbsolutePath());
  315.                   NativeFontWrapper.registerFonts(var7, var7.size(), var8, var3);
  316.                   break;
  317.                }
  318.             }
  319.          } catch (NoSuchElementException var9) {
  320.             System.err.println(var9);
  321.          }
  322.  
  323.       }
  324.    }
  325.  
  326.    protected void registerFontPath(String var1) {
  327.    }
  328.  
  329.    protected void registerNative(String var1) {
  330.    }
  331.  
  332.    protected String getPropString(String var1) {
  333.       return var1;
  334.    }
  335.  
  336.    protected boolean registerNativeFonts() {
  337.       return false;
  338.    }
  339.  
  340.    private boolean addPathFonts(String var1, FilenameFilter var2, int var3) {
  341.       boolean var4 = false;
  342.       Vector var5 = new Vector(20, 10);
  343.       Vector var6 = new Vector(20, 10);
  344.       File var7 = new File(var1);
  345.       String[] var8 = var7.list(var2);
  346.       if (var8 == null) {
  347.          return var4;
  348.       } else {
  349.          for(int var9 = 0; var9 < var8.length; ++var9) {
  350.             File var10 = new File(var7, var8[var9]);
  351.             if (!this.registeredFonts.containsKey(var8[var9])) {
  352.                String var11 = var10.getAbsolutePath();
  353.                this.registeredFonts.put(var8[var9], var11);
  354.                var5.addElement(var11);
  355.                var6.addElement(this.getPropString(var11));
  356.                var4 = true;
  357.             }
  358.          }
  359.  
  360.          NativeFontWrapper.registerFonts(var5, var5.size(), var6, var3);
  361.          return var4;
  362.       }
  363.    }
  364.  
  365.    public static Font getBestFontFor(AttributedCharacterIterator var0, int var1, int var2) {
  366.       char var3 = var0.setIndex(var1);
  367.       Map var4 = var0.getAttributes();
  368.  
  369.       Font var5;
  370.       for(var5 = Font.getFont(var4); !var5.canDisplay(var3) && var0.getRunLimit() < var2; var5 = Font.getFont(var0.getAttributes())) {
  371.          var0.setIndex(var0.getRunLimit());
  372.       }
  373.  
  374.       if (!var5.canDisplay(var3)) {
  375.          var0.setIndex(var1);
  376.          String[] var6 = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
  377.  
  378.          for(int var7 = 0; var7 < var6.length; ++var7) {
  379.             Hashtable var8 = new Hashtable();
  380.             var8.putAll(var4);
  381.             var8.put(TextAttribute.FAMILY, var6[var7]);
  382.             var5 = Font.getFont(var8);
  383.             if (var5.canDisplay(var3)) {
  384.                break;
  385.             }
  386.          }
  387.  
  388.          if (!var5.canDisplay(var3)) {
  389.             var5 = Font.getFont(var4);
  390.          }
  391.       }
  392.  
  393.       return var5;
  394.    }
  395.  
  396.    protected boolean platformReady() {
  397.       return true;
  398.    }
  399.  
  400.    private File tryOpeningFontProp(File var1, String var2, String var3, String var4) {
  401.       if (var1 != null) {
  402.          return var1;
  403.       } else {
  404.          String var5 = var2 + File.separator + "lib" + File.separator + "font.properties";
  405.          if (var3 != null) {
  406.             var5 = var5 + "." + var3;
  407.             if (var4 != null) {
  408.                var5 = var5 + "_" + var4;
  409.             }
  410.          }
  411.  
  412.          File var6 = new File(var5 + "." + this.osVersion);
  413.          if (var6 != null && var6.canRead()) {
  414.             return var6;
  415.          } else {
  416.             var6 = new File(var5);
  417.             return var6 != null && var6.canRead() ? var6 : null;
  418.          }
  419.       }
  420.    }
  421.  
  422.    private void appendJavaDefaultFontPath() {
  423.       String var1 = System.getProperty("java.home") + File.separator + "lib" + File.separator + "fonts";
  424.       if (var1 != null) {
  425.          this.fontPath = this.fontPath + File.pathSeparator + var1;
  426.       }
  427.  
  428.    }
  429.  
  430.    private void initializeProps() {
  431.       if (this.platformReady()) {
  432.          String var1 = System.getProperty("user.home");
  433.          String var2 = System.getProperty("java.home");
  434.          if (var2 == null) {
  435.             throw new Error("java.home property not set");
  436.          } else {
  437.             String var3 = System.getProperty("user.language", "en");
  438.             String var4 = System.getProperty("user.region");
  439.             String var5 = System.getProperty("file.encoding");
  440.             String var6 = CharacterEncoding.aliasName(var5);
  441.             if (var6 == null) {
  442.                var6 = var5;
  443.             }
  444.  
  445.             try {
  446.                File var7 = null;
  447.                if (var4 != null) {
  448.                   var7 = this.tryOpeningFontProp(var7, var1, var3, var4 + "_" + var6);
  449.                   var7 = this.tryOpeningFontProp(var7, var2, var3, var4 + "_" + var6);
  450.                   var7 = this.tryOpeningFontProp(var7, var1, var3, var4);
  451.                   var7 = this.tryOpeningFontProp(var7, var2, var3, var4);
  452.                }
  453.  
  454.                var7 = this.tryOpeningFontProp(var7, var1, var3, var6);
  455.                var7 = this.tryOpeningFontProp(var7, var2, var3, var6);
  456.                var7 = this.tryOpeningFontProp(var7, var1, var3, (String)null);
  457.                var7 = this.tryOpeningFontProp(var7, var2, var3, (String)null);
  458.                var7 = this.tryOpeningFontProp(var7, var1, var6, (String)null);
  459.                var7 = this.tryOpeningFontProp(var7, var2, var6, (String)null);
  460.                var7 = this.tryOpeningFontProp(var7, var1, (String)null, (String)null);
  461.                var7 = this.tryOpeningFontProp(var7, var2, (String)null, (String)null);
  462.                Properties var8 = new Properties();
  463.                ((Hashtable)var8).put("serif.0", "unknown");
  464.                ((Hashtable)var8).put("sansserif.0", "unknown");
  465.                ((Hashtable)var8).put("monospaced.0", "unknown");
  466.                ((Hashtable)var8).put("dialog.0", "unknown");
  467.                ((Hashtable)var8).put("dialoginput.0", "unknown");
  468.                ((Hashtable)var8).put("default.0", "sansserif");
  469.                ((Hashtable)var8).put("timesroman.0", "serif");
  470.                ((Hashtable)var8).put("helvetica.0", "sansserif");
  471.                ((Hashtable)var8).put("courier.0", "monospaced");
  472.                ((Hashtable)var8).put("zapfdingbats.0", "unknown");
  473.                this.fprops = new Properties(var8);
  474.                if (var7 != null) {
  475.                   BufferedInputStream var9 = new BufferedInputStream(new FileInputStream(var7.getPath()));
  476.                   this.fprops.load(var9);
  477.                   ((InputStream)var9).close();
  478.                }
  479.             } catch (Exception var10) {
  480.             }
  481.  
  482.          }
  483.       }
  484.    }
  485.  
  486.    protected void initCompositeFonts() {
  487.       if (this.platformReady()) {
  488.          this.initTerminalNames();
  489.          Object[] var1 = this.terminalNames.keySet().toArray();
  490.  
  491.          for(int var2 = 0; var2 < var1.length; ++var2) {
  492.             String var3 = (String)var1[var2];
  493.             Integer var4 = (Integer)this.terminalNames.get(var1[var2]);
  494.             int var5 = var4;
  495.             String[] var6 = new String[var5];
  496.             int[] var7 = new int[var5];
  497.             int[] var8 = new int[0];
  498.  
  499.             for(int var9 = 0; var9 < var5; ++var9) {
  500.                var6[var9] = this.parseFamilyNameProperty(this.fprops.getProperty(var3 + "." + var9));
  501.                var8 = this.appendExclusions(var3, var9, var8);
  502.                var7[var9] = var8.length;
  503.             }
  504.  
  505.             NativeFontWrapper.registerCompositeFont(var3, var6, var8, var7);
  506.          }
  507.  
  508.          this.terminalNames.put("default", new Integer(0));
  509.       }
  510.    }
  511.  
  512.    private int[] appendExclusions(String var1, int var2, int[] var3) {
  513.       String var4 = "exclusion." + var1 + "." + var2;
  514.       if (this.fprops.containsKey(var4)) {
  515.          String var5 = this.fprops.getProperty(var4);
  516.          int var6 = (var5.length() + 1) / 10;
  517.          if (var6 > 0) {
  518.             int[] var7 = new int[var6 * 2];
  519.  
  520.             for(int var8 = 0; var8 < var6; ++var8) {
  521.                String var9 = var5.substring(var8 * 10, var8 * 10 + 4);
  522.                String var10 = var5.substring(var8 * 10 + 5, var8 * 10 + 9);
  523.                var7[var8 * 2] = Integer.parseInt(var9, 16);
  524.                var7[var8 * 2 + 1] = Integer.parseInt(var10, 16);
  525.             }
  526.  
  527.             int var11 = var3.length + var7.length;
  528.             int[] var12 = new int[var11];
  529.             System.arraycopy(var3, 0, var12, 0, var3.length);
  530.             System.arraycopy(var7, 0, var12, var3.length, var7.length);
  531.             var3 = var12;
  532.          }
  533.       }
  534.  
  535.       return var3;
  536.    }
  537.  
  538.    private void initTerminalNames() {
  539.       TreeMap var1 = new TreeMap();
  540.       TreeMap var2 = new TreeMap();
  541.       this.terminalNames = new TreeMap();
  542.       String var3 = "Serif";
  543.       var1.put(var3.toLowerCase(Locale.ENGLISH), var3);
  544.       var3 = "SansSerif";
  545.       var1.put(var3.toLowerCase(Locale.ENGLISH), var3);
  546.       var3 = "Monospaced";
  547.       var1.put(var3.toLowerCase(Locale.ENGLISH), var3);
  548.       var3 = "Dialog";
  549.       var1.put(var3.toLowerCase(Locale.ENGLISH), var3);
  550.       var3 = "DialogInput";
  551.       var1.put(var3.toLowerCase(Locale.ENGLISH), var3);
  552.       Object[] var4 = this.fprops.keySet().toArray();
  553.  
  554.       for(int var5 = 0; var5 < var4.length; ++var5) {
  555.          String var6 = (String)var4[var5];
  556.          int var7 = var6.indexOf(".");
  557.          if (var7 == -1) {
  558.             var7 = var6.length();
  559.          }
  560.  
  561.          String var8 = var6.substring(0, var7);
  562.          if (var1.containsKey(var8)) {
  563.             var7 = var6.lastIndexOf(".");
  564.             if (var7 != -1) {
  565.                String var9 = var6.substring(0, var7);
  566.                if (!this.terminalNames.containsKey(var9) && this.fprops.containsKey(var9 + ".0")) {
  567.                   int var10;
  568.                   for(var10 = 0; this.fprops.containsKey(var9 + "." + var10); ++var10) {
  569.                   }
  570.  
  571.                   if (var10 != 0) {
  572.                      this.terminalNames.put(var9, new Integer(var10));
  573.  
  574.                      for(int var11 = 0; var11 < var10; ++var11) {
  575.                         String var12 = this.getFontPropertyFD(this.fprops.getProperty(var9 + "." + var11));
  576.                         String var13 = this.getFileNameFromPlatformName(var12);
  577.                         if (var13 == null) {
  578.                            System.err.println("Font specified in font.properties not found [" + var12 + "]");
  579.                            this.loadFonts();
  580.                            break;
  581.                         }
  582.  
  583.                         if (!var2.containsKey(var13)) {
  584.                            var2.put(var13, (Object)null);
  585.                            this.registerFontFile(var13, var12);
  586.                         }
  587.                      }
  588.                   }
  589.                }
  590.             }
  591.          }
  592.       }
  593.  
  594.    }
  595.  
  596.    public static String styleStr(int var0) {
  597.       switch (var0) {
  598.          case 1:
  599.             return "bold";
  600.          case 2:
  601.             return "italic";
  602.          case 3:
  603.             return "bolditalic";
  604.          default:
  605.             return "plain";
  606.       }
  607.    }
  608.  
  609.    public static String createFont(File var0) {
  610.       String var1 = NativeFontWrapper.createFont(var0.getAbsolutePath(), 0);
  611.       return var1;
  612.    }
  613.  
  614.    private static short getLcidFromLocale(Locale var0) {
  615.       short var1 = 1033;
  616.       if (var0.equals(Locale.US)) {
  617.          return var1;
  618.       } else {
  619.          String var2;
  620.          try {
  621.             ResourceBundle var3 = ResourceBundle.getBundle("java.text.resources.LocaleElements", var0);
  622.             var2 = var3.getString("LocaleID");
  623.          } catch (MissingResourceException var5) {
  624.             return var1;
  625.          }
  626.  
  627.          try {
  628.             var1 = (short)Integer.parseInt(var2, 16);
  629.          } catch (NumberFormatException var4) {
  630.          }
  631.  
  632.          return var1;
  633.       }
  634.    }
  635.  
  636.    // $FF: synthetic method
  637.    static void access$000(SunGraphicsEnvironment var0) {
  638.       var0.appendJavaDefaultFontPath();
  639.    }
  640.  
  641.    // $FF: synthetic method
  642.    static void access$100(SunGraphicsEnvironment var0) {
  643.       var0.initializeProps();
  644.    }
  645.  
  646.    // $FF: synthetic method
  647.    static boolean access$200(SunGraphicsEnvironment var0, String var1) {
  648.       return var0.registerFonts(var1);
  649.    }
  650.  
  651.    // $FF: synthetic method
  652.    static boolean access$302(SunGraphicsEnvironment var0, boolean var1) {
  653.       return var0.loadedAllFonts = var1;
  654.    }
  655. }
  656.