public FontRenderer(GameSettings var1, String var2, TextureManager var3) {
      this.settings = var1;

      BufferedImage var14;
      try {
         var14 = ImageIO.read(TextureManager.class.getResourceAsStream(var2));
      } catch (IOException var13) {
         throw new RuntimeException(var13);
      }

      int var4 = var14.getWidth();
      int var5 = var14.getHeight();
      int[] var6 = new int[var4 * var5];
      var14.getRGB(0, 0, var4, var5, var6, 0, var4);

      for(int var15 = 0; var15 < 128; ++var15) {
         var5 = var15 % 16;
         int var7 = var15 / 16;
         int var8 = 0;

         for(boolean var9 = false; var8 < 8 && !var9; ++var8) {
            int var10 = (var5 << 3) + var8;
            var9 = true;

            for(int var11 = 0; var11 < 8 && var9; ++var11) {
               int var12 = ((var7 << 3) + var11) * var4;
               if((var6[var10 + var12] & 255) > 128) {
                  var9 = false;
               }
            }
         }

         if(var15 == 32) {
            var8 = 4;
         }

         this.widthmap[var15] = var8;
      }

      this.fontTexture = var3.load(var2);
   }