home *** CD-ROM | disk | FTP | other *** search
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Font;
- import java.awt.FontMetrics;
- import java.awt.Graphics;
- import java.awt.Image;
- import java.util.Vector;
-
- class PParse {
- private String[] hinder_links;
- private int[] hinder_table;
- private int num_hinders = 0;
- // $FF: renamed from: p java.awt.Component
- private Component field_0;
- private int hinder_max_end_y = 0;
- String[] imageUrls;
- int[] imageMap;
- int numOfImages = 0;
- private Vector v_paraFormat = new Vector();
- private Vector v_paraData = new Vector();
- String[] paraFormatString;
- int[] paraFormat;
- String[] paraData;
- int numParaFormats = 0;
- private boolean was_image_tag = false;
- private FontMetrics pfm;
- private Font pfont;
- private Graphics g_img;
- Image img;
- int paraImgHeight = 0;
- int paraImgWidth = 0;
- int paraPageStartY = 0;
- private String temp_style = "0";
- private String temp_value = "0";
- private String tfont = null;
- private String final_string;
- String[] formatTable;
- private int formatTableLength;
- int numberOfTags;
- private int numberOfLines = 1;
- private Vector v_line = new Vector();
- int[] line_table;
- private Color linkColor;
- int[] linkMap;
- String[] linkData;
- int numOfLinks;
- boolean drawComplete = false;
- boolean isLinks = false;
- private Color bgColor;
-
- public int cMouseLink(int var1, int var2) {
- int var3 = 0;
-
- for(int var4 = 0; var4 < this.numOfLinks; ++var4) {
- var3 = var4 * 4;
- if (var2 > this.linkMap[var3 + 1] && var2 < this.linkMap[var3 + 1] + this.linkMap[var3 + 3] && var1 > this.linkMap[var3] && var1 < this.linkMap[var3] + this.linkMap[var3 + 2]) {
- return var4;
- }
- }
-
- return -1;
- }
-
- private void ConvertParaTables() {
- this.numParaFormats = this.v_paraFormat.size() / 9;
- String[] var1 = new String[this.v_paraFormat.size()];
- this.paraFormat = new int[this.v_paraFormat.size()];
- this.v_paraFormat.copyInto(var1);
-
- for(int var2 = 0; var2 < var1.length; ++var2) {
- Integer var3 = new Integer(var1[var2]);
- this.paraFormat[var2] = var3;
- }
-
- this.paraData = new String[this.v_paraData.size()];
- this.v_paraData.copyInto(this.paraData);
- this.v_paraFormat = null;
- this.v_paraData = null;
- }
-
- PParse(String var1, Color var2, Component var3) {
- this.field_0 = var3;
- this.bgColor = var2;
- Object var4 = null;
- int var5 = 0;
- int var6 = 0;
- int var7 = 0;
- String var8 = var1;
- boolean var11 = false;
- Vector var12 = new Vector();
- if (var1.indexOf("<") > 0 || var1.indexOf("<") == -1) {
- var12.addElement("-1");
- var12.addElement("0");
- Integer var10 = new Integer(0);
- var12.addElement(var10.toString());
- ++this.numberOfTags;
- ++this.numParaFormats;
- }
-
- while(var5 != -1) {
- var5 = var8.indexOf("<", var7);
- if (var5 != -1) {
- var6 = var8.indexOf(">", var5 + 1);
- if (var6 != -1) {
- var11 = true;
- if (this.CheckTag("font", var8, var5, "1", var6, "")) {
- String var15 = var8.substring(var5, var6);
- this.temp_value = this.temp_value + vInTag.GetInternalTagValue("color", var15, 1, true);
- this.temp_value = this.temp_value + vInTag.GetInternalTagValue("size", var15, 2, true);
- this.temp_value = this.temp_value + vInTag.GetInternalTagValue("face", var15, 3, true);
- } else if (!this.CheckTag("em", var8, var5, "6", var6, "0")) {
- if (this.CheckTag("a", var8, var5, "7", var6, "")) {
- String var14 = var8.substring(var5, var6);
- this.temp_value = this.temp_value + vInTag.GetInternalTagValue("href", var14, 3, true);
- this.temp_value = this.temp_value + vInTag.GetInternalTagValue("where", var14, 3, true);
- this.temp_value = this.temp_value + vInTag.GetInternalTagValue("color", var14, 1, true);
- this.temp_value = this.temp_value + vInTag.GetInternalTagValue("hcolor", var14, 1, true);
- this.temp_value = this.temp_value + vInTag.GetInternalTagValue("alt", var14, 3, true);
- } else if (!this.CheckTag("strong", var8, var5, "8", var6, "0") && !this.CheckTag("b>", var8, var5, "8", var6, "0")) {
- if (!this.CheckTag("img", var8, var5, "9", var6, "")) {
- if (!this.CheckTag("u", var8, var5, "10", var6, "0") && !this.CheckTag("br", var8, var5, "11", var6, "0") && !this.CheckTag("li", var8, var5, "11", var6, "0") && !this.CheckTag("/font", var8, var5, "1", var6, "-2|-2|-2") && !this.CheckTag("/br", var8, var5, "5", var6, "-1") && !this.CheckTag("/em", var8, var5, "6", var6, "-1") && !this.CheckTag("/a", var8, var5, "7", var6, "-1|-1|-1") && !this.CheckTag("/strong", var8, var5, "8", var6, "-1") && !this.CheckTag("/b>", var8, var5, "8", var6, "-1") && !this.CheckTag("/u", var8, var5, "10", var6, "-1") && !this.CheckTag("/li", var8, var5, "11", var6, "-1")) {
- var11 = false;
- }
- } else {
- String var13 = var8.substring(var5, var6);
- this.temp_value = this.temp_value + vInTag.GetInternalTagValue("align", var13, 3, true);
- if (this.temp_value.equalsIgnoreCase("left|") || this.temp_value.equalsIgnoreCase("right|")) {
- ++this.num_hinders;
- }
-
- this.temp_value = this.temp_value + vInTag.GetInternalTagValue("src", var13, 3, true);
- this.temp_value = this.temp_value + vInTag.GetInternalTagValue("alt", var13, 3, true);
- this.temp_value = this.temp_value + vInTag.GetInternalTagValue("width", var13, 2, true);
- this.temp_value = this.temp_value + vInTag.GetInternalTagValue("height", var13, 2, true);
- }
- }
- }
-
- if (var11) {
- var12.addElement(this.temp_style);
- var12.addElement(this.temp_value);
- Integer var18 = new Integer(var5);
- var12.addElement(var18.toString());
- } else {
- var7 = var5 + 1;
- }
-
- String var9 = var8;
- var8 = var8.substring(0, var5);
- if (var6 != var9.length() - 1) {
- var9 = var9.substring(var6 + 1, var9.length());
- var8 = var8 + var9;
- }
-
- ++this.numberOfTags;
- } else {
- var7 = var5 + 1;
- }
- }
- }
-
- this.formatTableLength = var12.size();
- this.formatTable = new String[this.formatTableLength];
- var12.copyInto(this.formatTable);
- if (var8.length() < 1) {
- var8 = " ";
- }
-
- this.final_string = var8;
- this.hinder_table = new int[this.num_hinders * 7];
- this.hinder_links = new String[this.num_hinders * 5];
- Object var20 = null;
- }
-
- private int subtractHW(boolean var1, int var2, int var3) {
- int var4 = 0;
- int var5 = 0;
- if (this.num_hinders > 0) {
- for(int var6 = 0; var6 < this.num_hinders; ++var6) {
- var4 = var6 * 7;
- if (this.hinder_table[var4 + 6] == 1) {
- if (var1) {
- if (this.hinder_table[var4 + 3] < var2 && this.hinder_table[var4 + 5] == 8) {
- var5 -= this.hinder_table[var4 + 1];
- this.hinder_table[var4 + 6] = 0;
- }
- } else if (this.hinder_table[var4 + 3] < var2 && this.hinder_table[var4 + 5] == 7) {
- var5 -= this.hinder_table[var4 + 1];
- this.hinder_table[var4 + 6] = 0;
- }
- }
- }
- }
-
- return var5;
- }
-
- private void SetLineTable(int var1, int var2, int var3, int var4, int var5, int var6) {
- this.v_line.addElement((new Integer(var1)).toString());
- this.v_line.addElement((new Integer(var2)).toString());
- this.v_line.addElement((new Integer(var3)).toString());
- this.v_line.addElement((new Integer(var4)).toString());
- this.v_line.addElement((new Integer(var5)).toString());
- this.v_line.addElement((new Integer(var6)).toString());
- }
-
- private boolean CheckTag(String var1, String var2, int var3, String var4, int var5, String var6) {
- if (var3 + var1.length() > var5) {
- return false;
- } else if (var2.substring(var3 + 1, var3 + var1.length() + 1).equalsIgnoreCase(var1)) {
- this.temp_style = var4;
- this.temp_value = var6;
- return true;
- } else {
- return false;
- }
- }
-
- private void ConvertLineTable(int var1, int var2, Component var3) {
- if (var2 == 0) {
- var2 = 1;
- }
-
- this.img = var3.createImage(var1, var2);
- this.g_img = this.img.getGraphics();
- this.g_img.setColor(this.bgColor);
- this.g_img.fillRect(0, 0, var1, var2);
- this.paraImgHeight = var2;
- this.paraImgWidth = var1;
- String[] var4 = new String[this.v_line.size()];
- this.line_table = new int[this.v_line.size()];
- this.v_line.copyInto(var4);
-
- for(int var5 = 0; var5 < var4.length; ++var5) {
- Integer var6 = new Integer(var4[var5]);
- this.line_table[var5] = var6;
- }
-
- this.v_line = null;
- }
-
- private int addHinderWidths(boolean var1, int var2, int var3, int var4) {
- int var5 = 0;
- int var6 = 0;
- if (this.num_hinders > 0) {
- for(int var7 = 0; var7 < this.num_hinders; ++var7) {
- var5 = var7 * 7;
- if (this.hinder_table[var5] == this.numberOfLines && this.hinder_table[var5 + 6] == 0) {
- this.hinder_table[var5 + 3] = this.hinder_table[var5 + 2] + var2 + var4;
- if (this.hinder_max_end_y < this.hinder_table[var5 + 3]) {
- this.hinder_max_end_y = this.hinder_table[var5 + 3];
- }
-
- if (var1) {
- if (this.hinder_table[var5 + 5] == 8) {
- var6 += this.hinder_table[var5 + 1];
- this.hinder_table[var5 + 4] = this.paraImgWidth - var6 - var3 + this.hinder_table[var5 + 1];
- this.hinder_table[var5 + 6] = 1;
- }
- } else if (this.hinder_table[var5 + 5] == 7) {
- var6 += this.hinder_table[var5 + 1];
- this.hinder_table[var5 + 4] = var3 + var6;
- this.hinder_table[var5 + 6] = 1;
- }
- }
- }
- }
-
- return var6;
- }
-
- public void DrawText(int var1) {
- int var2 = 0;
- int var3 = 0;
- int var4 = 0;
- int var5 = 0;
- int var6 = 0;
- int var7 = 0;
- int var8 = 0;
- int var9 = 0;
- int var10 = 0;
- int var11 = 0;
- int var12 = 0;
- int var13 = 0;
- int var14 = -1;
- int var15 = 1;
- boolean var16 = false;
- int var17 = 0;
-
- for(int var18 = 0; var18 < this.num_hinders; ++var18) {
- var4 = var18 * 7;
- var5 = var18 * 4;
- var6 = var18;
- var8 = var18 * 5;
- var9 = this.hinder_table[var4 + 4] - this.hinder_table[var4 + 1];
- var10 = this.hinder_table[var4 + 3] - this.hinder_table[var4 + 2];
- var11 = this.hinder_table[var4 + 1];
- var12 = this.hinder_table[var4 + 2];
- this.imageMap[var5] = var9;
- this.imageMap[var5 + 1] = var10;
- this.imageMap[var5 + 2] = var11;
- this.imageMap[var5 + 3] = var12;
- this.imageUrls[var18] = this.hinder_links[var8];
- if (!this.hinder_links[var8 + 1].equals("-1")) {
- this.linkMap[var13 * 4] = var9;
- this.linkMap[var13 * 4 + 1] = var10;
- this.linkMap[var13 * 4 + 2] = var11;
- this.linkMap[var13 * 4 + 3] = var12;
- this.linkData[var13 * 8] = this.hinder_links[var8 + 1];
- this.linkData[var13 * 8 + 1] = this.hinder_links[var8 + 3];
- this.linkData[var13 * 8 + 2] = this.hinder_links[var8 + 4];
- this.linkData[var13 * 8 + 3] = this.hinder_links[var8 + 2];
- this.linkData[var13 * 8 + 4] = "-1";
- this.linkData[var13 * 8 + 5] = "-1";
- this.linkData[var13 * 8 + 6] = "0";
- this.linkData[var13 * 8 + 7] = "0";
- ++var13;
- }
-
- var16 = true;
- }
-
- if (var16) {
- var5 += 4;
- ++var6;
- }
-
- for(int var38 = 0; var38 < this.numParaFormats; ++var38) {
- var7 = var38 * 6;
- var2 = var38 * 9;
- var3 = this.line_table[this.paraFormat[var2 + 8] * 6 + 2];
- if (var1 == 1) {
- var17 = (this.paraImgWidth - this.line_table[this.paraFormat[var2 + 8] * 6]) / 2;
- }
-
- if (var1 == 2) {
- var17 = this.paraImgWidth - this.line_table[this.paraFormat[var2 + 8] * 6];
- }
-
- if (this.paraFormat[var2] == -1) {
- var9 = this.paraFormat[var2 + 7] + var17;
- var10 = var3 - this.paraFormat[var2 + 6];
- var11 = this.paraFormat[var2 + 5];
- var12 = this.paraFormat[var2 + 6];
- this.imageMap[var5] = var9;
- this.imageMap[var5 + 1] = var10;
- this.imageMap[var5 + 2] = var11;
- this.imageMap[var5 + 3] = var12;
- var5 += 4;
- this.imageUrls[var6] = this.paraData[var7 + 1];
- ++var6;
- if (!this.paraData[var7 + 2].equals("-1")) {
- this.linkMap[var13 * 4] = var9;
- this.linkMap[var13 * 4 + 1] = var10;
- this.linkMap[var13 * 4 + 2] = var11;
- this.linkMap[var13 * 4 + 3] = var12;
- this.linkData[var13 * 8] = this.paraData[var7 + 2];
- this.linkData[var13 * 8 + 1] = this.paraData[var7 + 4];
- this.linkData[var13 * 8 + 2] = this.paraData[var7 + 5];
- this.linkData[var13 * 8 + 3] = this.paraData[var7 + 3];
- this.linkData[var13 * 8 + 4] = "-1";
- this.linkData[var13 * 8 + 5] = "-1";
- this.linkData[var13 * 8 + 6] = "0";
- this.linkData[var13 * 8 + 7] = "0";
- ++var13;
- }
- } else {
- var9 = this.paraFormat[var2 + 7] + var17;
- var10 = var3 - this.paraFormat[var2 + 6];
- var11 = this.paraFormat[var2 + 5];
- var12 = this.paraFormat[var2 + 6];
- this.g_img.setColor(new Color(this.paraFormat[var2 + 3]));
- this.pfont = new Font(HTMLFont.GetFontName(this.paraFormat[var2]), this.paraFormat[var2 + 1], HTMLFont.getSize(this.paraFormat[var2 + 2]));
- this.g_img.setFont(this.pfont);
- this.g_img.drawString(this.paraData[var7], var9, var3);
- if (this.paraFormat[var2 + 4] == 1 && var9 != this.paraFormat[var2 + 5]) {
- this.g_img.drawLine(var9, var3 + 2, var9 + this.paraFormat[var2 + 5], var3 + 2);
- }
-
- if (!this.paraData[var7 + 2].equals("-1")) {
- this.linkMap[var13 * 4] = var9;
- this.linkMap[var13 * 4 + 1] = var10;
- this.linkMap[var13 * 4 + 2] = var11;
- this.linkMap[var13 * 4 + 3] = var12 + this.field_0.getFontMetrics(this.pfont).getDescent();
- this.linkData[var13 * 8] = this.paraData[var7 + 2];
- this.linkData[var13 * 8 + 1] = this.paraData[var7 + 4];
- this.linkData[var13 * 8 + 2] = this.paraData[var7 + 5];
- this.linkData[var13 * 8 + 3] = this.paraData[var7 + 3];
- this.linkData[var13 * 8 + 4] = (new Integer(this.paraFormat[var2 + 3])).toString();
- this.linkData[var13 * 8 + 5] = (new Integer(var15)).toString();
- this.linkData[var13 * 8 + 6] = (new Integer(var38 - (var15 - 1))).toString();
- this.linkData[var13 * 8 + 7] = (new Integer(var38 - (var15 - 1))).toString();
- if (var14 == -1) {
- var14 = var13;
- }
-
- ++var15;
- ++var13;
- } else {
- if (var14 != -1) {
- for(int var19 = var14; var19 < var14 + (var15 - 1); ++var19) {
- this.linkData[var19 * 8 + 5] = (new Integer(var15 - 1)).toString();
- }
-
- var14 = -1;
- }
-
- var15 = 1;
- }
- }
- }
-
- if (var14 != -1) {
- for(int var39 = var14; var39 < var14 + (var15 - 1); ++var39) {
- this.linkData[var39 * 8 + 5] = (new Integer(var15 - 1)).toString();
- }
-
- var14 = -1;
- }
-
- this.drawComplete = true;
- }
-
- public void SizeText(int var1, String var2, int var3, Color var4, Color var5, Color var6) {
- this.linkColor = var6;
- int var7 = 0;
- Vector var8 = new Vector();
- Vector var9 = new Vector();
- Vector var10 = new Vector();
- this.paraImgWidth = var1;
- int var11 = 0;
- int var12 = 0;
- byte var13 = 0;
- byte var14 = 0;
- String var15 = null;
- String var16 = null;
- int var17 = 0;
- int var18 = 0;
- int var19 = 0;
- byte var20 = 3;
- int var21 = 0;
- int var22 = 0;
- int var23 = 0;
- String var24 = (new Integer(HTMLFont.SetFontID(var2))).toString();
- int var25 = 0;
- int var26 = var3;
- Color var27 = var4;
- Object var28 = null;
- int var29 = 0;
- int var30 = 0;
- int var31 = 0;
- Object var32 = null;
- new Integer(0);
- int var35 = 0;
- int var36 = 0;
- int var37 = 0;
- int var38 = 0;
- String var39 = null;
- String var40 = null;
- String var41 = null;
- boolean var42 = false;
-
- for(int var43 = 0; var43 < this.formatTableLength; var43 += 3) {
- var37 = var43 * 2;
- var30 = Integer.parseInt(this.formatTable[var43 + 2]);
- String var61;
- if (var43 < this.formatTableLength - 3) {
- var61 = this.final_string.substring(var30, Integer.parseInt(this.formatTable[var43 + 5]));
- var29 = var61.length();
- } else {
- var61 = this.final_string.substring(var30, this.final_string.length());
- var29 = var61.length();
- }
-
- if (this.formatTable[var43].equals("1")) {
- String[] var34 = vInTag.SecondParse(this.formatTable[var43 + 1], 3);
- if (var34[0].equals("-1")) {
- var9.addElement(Integer.toHexString(var27.getRGB()));
- } else if (var34[0].equals("-2")) {
- if (var9.size() < 2) {
- var9.removeAllElements();
- if (!var42) {
- var27 = var4;
- }
- } else {
- var9.removeElementAt(var10.size() - 1);
- if (!var42) {
- var27 = new Color(Integer.parseInt(var9.lastElement().toString(), 16));
- }
- }
- } else {
- var9.addElement(var34[0]);
- if (!var42) {
- var27 = new Color(Integer.parseInt(var34[0], 16));
- }
- }
-
- if (var34[1].equals("-1")) {
- Integer var33 = new Integer(var26);
- var10.addElement(var33.toString());
- } else if (var34[1].equals("-2")) {
- if (var10.size() < 2) {
- var10.removeAllElements();
- var26 = var3;
- } else {
- var10.removeElementAt(var10.size() - 1);
- var26 = Integer.parseInt(var10.lastElement().toString());
- }
- } else {
- var26 = Integer.parseInt(var34[1]);
- Integer var62 = new Integer(var26);
- var10.addElement(var62.toString());
- }
-
- if (var34[2].equals("-1")) {
- var8.addElement(var24);
- } else if (var34[2].equals("-2")) {
- if (var8.size() < 2) {
- var8.removeAllElements();
- var24 = (new Integer(HTMLFont.SetFontID(var2))).toString();
- } else {
- var8.removeElementAt(var8.size() - 1);
- var24 = var8.lastElement().toString();
- }
- } else {
- var34[2] = (new Integer(HTMLFont.SetFontID(var34[2]))).toString();
- var24 = var34[2];
- var8.addElement(var34[2]);
- }
- } else if (this.formatTable[var43].equals("6")) {
- if (this.formatTable[var43 + 1].equals("0")) {
- if (var25 < 2) {
- var25 += 2;
- }
- } else if (var25 > 1) {
- var25 -= 2;
- }
- } else if (this.formatTable[var43].equals("11")) {
- if (var61.length() > 1) {
- var61 = var61.substring(1);
- }
-
- if (var61.equals(" ")) {
- var61 = "";
- }
-
- if (var43 == this.formatTableLength - 3) {
- var31 += var36;
- this.SetLineTable(var35 + var21 + var17, var36, var31, var18, var17, var1 - var21);
- var36 = 0;
- } else {
- var31 += var36;
- this.SetLineTable(var35, var36, var31, var18, var17, var1 - var21);
- var22 = 0;
- ++this.numberOfLines;
- int var52 = var17 + this.subtractHW(false, var31 + var38, var17);
- var21 += this.subtractHW(true, var31 + var38, var21);
- var17 = var52 + this.addHinderWidths(false, var31, var52, var38);
- var21 += this.addHinderWidths(true, var31, var21, var38);
- var35 = var17;
- var36 = 0;
- }
- } else if (this.formatTable[var43].equals("8")) {
- if (this.formatTable[var43 + 1].equals("0")) {
- if (var25 < 3) {
- ++var25;
- }
- } else if (var25 > 0) {
- --var25;
- }
- } else if (this.formatTable[var43].equals("10")) {
- if (this.formatTable[var43 + 1].equals("0")) {
- var14 = 1;
- } else {
- var14 = 0;
- }
- } else if (this.formatTable[var43].equals("7")) {
- String[] var63 = vInTag.SecondParse(this.formatTable[var43 + 1], 5);
- if (var63[0].equals("-1")) {
- var42 = false;
- var14 = 0;
- if (var9.size() > 0) {
- var27 = new Color(Integer.parseInt(var9.lastElement().toString(), 16));
- } else {
- var27 = var4;
- }
- } else {
- var42 = true;
- this.isLinks = true;
- var14 = 1;
- var39 = var63[0];
- if (var63[1].equals("-1")) {
- var40 = "applet";
- } else {
- var40 = var63[1];
- }
-
- if (var63[2].equals("-1")) {
- var27 = this.linkColor;
- Color var58 = this.linkColor;
- } else {
- var27 = new Color(Integer.parseInt(var63[2], 16));
- }
-
- if (var63[3].equals("-1")) {
- var41 = (new Integer(var5.getRGB())).toString();
- } else {
- var41 = var63[3];
- }
-
- if (var63[4].equals("-1")) {
- var16 = "-1";
- } else {
- var16 = var63[3];
- }
- }
- } else if (this.formatTable[var43].equals("9")) {
- String[] var64 = vInTag.SecondParse(this.formatTable[var43 + 1], 5);
- if (var64[0].equals("-1")) {
- var13 = 0;
- } else if (var64[0].equalsIgnoreCase("bottom")) {
- var13 = 0;
- } else if (var64[0].equalsIgnoreCase("middle")) {
- var13 = 1;
- } else if (var64[0].equalsIgnoreCase("top")) {
- var13 = 2;
- } else if (var64[0].equalsIgnoreCase("absbottom")) {
- var13 = 3;
- } else if (var64[0].equalsIgnoreCase("absmiddle")) {
- var13 = 4;
- } else if (var64[0].equalsIgnoreCase("texttop")) {
- var13 = 5;
- } else if (var64[0].equalsIgnoreCase("baseline")) {
- var13 = 6;
- } else if (var64[0].equalsIgnoreCase("left")) {
- var13 = 7;
- } else if (var64[0].equalsIgnoreCase("right")) {
- var13 = 8;
- } else {
- var13 = 0;
- }
-
- if (var64[1].equals("-1")) {
- var15 = "";
- } else {
- var15 = var64[1];
- }
-
- if (!var64[2].equals("-1")) {
- }
-
- if (!var64[3].equals("-1")) {
- var11 = Integer.parseInt(var64[3]);
- if (var64[4].equals("-1")) {
- var11 = 0;
- } else {
- this.was_image_tag = true;
- var12 = Integer.parseInt(var64[4]);
- if (var13 > 6) {
- if (var22 > 0) {
- this.hinder_table[var23] = this.numberOfLines + 1;
- } else {
- this.hinder_table[var23] = this.numberOfLines;
- }
-
- this.hinder_table[var23 + 1] = var11;
- this.hinder_table[var23 + 2] = var12;
- this.hinder_table[var23 + 5] = var13;
- this.hinder_table[var23 + 6] = 0;
- this.hinder_links[var23] = var15;
- if (var42) {
- this.hinder_links[var23 + 1] = var39;
- } else {
- this.hinder_links[var23 + 1] = "-1";
- }
-
- this.hinder_links[var23 + 2] = var41;
- this.hinder_links[var23 + 3] = var40;
- this.hinder_links[var23 + 4] = var16;
- var23 += 7;
- }
- }
- }
- }
-
- if (this.was_image_tag) {
- ++this.numOfImages;
- if (var42) {
- ++this.numOfLinks;
- }
-
- if (var13 < 7) {
- var7 = var35;
- var35 += var11;
- if (var35 > var1 - var21) {
- ++this.numberOfLines;
- int var53 = var17 + this.subtractHW(false, var31 + var38, var17);
- int var56 = var21 + this.subtractHW(true, var31 + var38, var21);
- var17 = var53 + this.addHinderWidths(false, var31, var53, var38);
- var21 = var56 + this.addHinderWidths(true, var31, var56, var38);
- var31 += var36;
- this.SetLineTable(var7, var36, var31, var18, var17, var1 - var21);
- var7 = var17;
- var35 = var17 + var11;
- var36 = var12;
- } else if (var12 > var36) {
- var36 = var12;
- }
-
- this.v_paraFormat.addElement("-1");
- this.v_paraFormat.addElement("-1");
- this.v_paraFormat.addElement("-1");
- this.v_paraFormat.addElement((new Integer(var27.getRGB())).toString());
- this.v_paraFormat.addElement("0");
- this.v_paraFormat.addElement((new Integer(var11)).toString());
- this.v_paraFormat.addElement((new Integer(var12)).toString());
- this.v_paraFormat.addElement((new Integer(var7)).toString());
- this.v_paraFormat.addElement((new Integer(this.numberOfLines - 1)).toString());
- this.v_paraData.addElement("");
- this.v_paraData.addElement(var15);
- if (var42) {
- this.v_paraData.addElement(var39);
- ++this.numOfLinks;
- } else {
- this.v_paraData.addElement("-1");
- }
-
- this.v_paraData.addElement(var41);
- this.v_paraData.addElement(var40);
- this.v_paraData.addElement(var16);
- } else if (this.numberOfLines == 1 && var22 == 0) {
- var17 += this.addHinderWidths(false, var31, var17, var38);
- var21 += this.addHinderWidths(true, var31, var21, var38);
- var35 = var17;
- }
-
- if (var43 == this.formatTableLength - 3) {
- var31 += var36;
- this.SetLineTable(var35 + var21 + var17, var36, var31, var18, var17, var1 - var21);
- }
-
- this.was_image_tag = false;
- }
-
- if (var29 == 0) {
- if (var43 == this.formatTableLength - 3) {
- var31 += var36;
- this.SetLineTable(var35 + var21 + var17, var36, var31, var18, var17, var1 - var21);
- }
- } else {
- var22 += var29;
- this.pfm = this.field_0.getFontMetrics(this.pfont = new Font(HTMLFont.GetFontName(new Integer(var24)), var25, HTMLFont.getSize(var26)));
- this.v_paraFormat.addElement(var24);
- this.v_paraFormat.addElement((new Integer(var25)).toString());
- this.v_paraFormat.addElement((new Integer(var26)).toString());
- this.v_paraFormat.addElement((new Integer(var27.getRGB())).toString());
- this.v_paraFormat.addElement((new Integer(var14)).toString());
- var7 = var35;
- var35 = var35 + this.pfm.stringWidth(var61) + 1;
- if (this.pfm.getAscent() + var20 > var36) {
- var36 = this.pfm.getAscent() + var20;
- }
-
- if (var38 < this.pfm.getDescent()) {
- var38 = this.pfm.getDescent();
- }
-
- if (this.pfm.getAscent() + var20 > var19) {
- var19 = this.pfm.getAscent() + var20;
- var18 = var19;
- }
-
- if (var35 < var1 - var21) {
- this.v_paraFormat.addElement((new Integer(this.pfm.stringWidth(var61))).toString());
- this.v_paraFormat.addElement((new Integer(this.pfm.getHeight())).toString());
- this.v_paraFormat.addElement((new Integer(var7)).toString());
- this.v_paraFormat.addElement((new Integer(this.numberOfLines - 1)).toString());
- this.v_paraData.addElement(var61);
- this.v_paraData.addElement("-1");
- if (var42) {
- this.v_paraData.addElement(var39);
- ++this.numOfLinks;
- } else {
- this.v_paraData.addElement("-1");
- }
-
- this.v_paraData.addElement(var41);
- this.v_paraData.addElement(var40);
- this.v_paraData.addElement(var16);
- if (var43 == this.formatTableLength - 3) {
- var31 += var36;
- this.SetLineTable(var35 + var21 + var17, var36, var31, var18, var17, var1 - var21);
- }
- } else {
- var35 = var7;
- String var44 = var61;
- int var46 = 0;
- int var47 = 0;
- int var48 = 0;
-
- for(int var49 = 0; var48 < 4; var7 = var17) {
- ++var49;
- var46 = vInTag.NewLineTwo(var44, var35, var1 - var21, this.pfm);
- String var45 = var44.substring(0, var46);
- var44 = var44.substring(var46);
- if (var44.length() > 1) {
- if (var49 == 1) {
- if (var45.length() > 1 && var45.charAt(var45.length() - 1) == ' ') {
- var45 = var45.substring(0, var45.length() - 1);
- }
- } else {
- var45 = var45.trim();
- }
- } else if (var45.length() > 1) {
- if (var45.charAt(0) == ' ') {
- var45 = var45.substring(1);
- }
- } else if (var45.charAt(0) == ' ') {
- var45 = "";
- }
-
- if (var44.length() == 1) {
- var45 = var45 + var44;
- }
-
- if (!var45.equals(" ") && !var45.equals("") && var45 != null) {
- var48 = 0;
- } else {
- ++var48;
- }
-
- if (var47 == 0) {
- this.v_paraFormat.addElement((new Integer(this.pfm.stringWidth(var45))).toString());
- this.v_paraFormat.addElement((new Integer(this.pfm.getHeight())).toString());
- this.v_paraFormat.addElement((new Integer(var7)).toString());
- this.v_paraFormat.addElement((new Integer(this.numberOfLines - 1)).toString());
- this.v_paraData.addElement(var45);
- this.v_paraData.addElement("-1");
- if (var42) {
- this.v_paraData.addElement(var39);
- ++this.numOfLinks;
- } else {
- this.v_paraData.addElement("-1");
- }
-
- this.v_paraData.addElement(var41);
- this.v_paraData.addElement(var40);
- this.v_paraData.addElement(var16);
- } else {
- var36 = this.pfm.getAscent() + var20;
- var19 = var36;
- var18 = var36;
- var38 = this.pfm.getDescent();
- this.v_paraFormat.addElement(var24);
- this.v_paraFormat.addElement((new Integer(var25)).toString());
- this.v_paraFormat.addElement((new Integer(var26)).toString());
- this.v_paraFormat.addElement((new Integer(var27.getRGB())).toString());
- this.v_paraFormat.addElement((new Integer(var14)).toString());
- this.v_paraFormat.addElement((new Integer(this.pfm.stringWidth(var45))).toString());
- this.v_paraFormat.addElement((new Integer(this.pfm.getHeight())).toString());
- this.v_paraFormat.addElement((new Integer(var7)).toString());
- this.v_paraFormat.addElement((new Integer(this.numberOfLines - 1)).toString());
- this.v_paraData.addElement(var45);
- this.v_paraData.addElement("-1");
- if (var42) {
- this.v_paraData.addElement(var39);
- ++this.numOfLinks;
- } else {
- this.v_paraData.addElement("-1");
- }
-
- this.v_paraData.addElement(var41);
- this.v_paraData.addElement(var40);
- this.v_paraData.addElement(var16);
- }
-
- ++var47;
- if (var44.length() < 2) {
- var35 = var17 + this.pfm.stringWidth(var45);
- var22 = var45.length();
- if (var43 == this.formatTableLength - 3) {
- var31 += var36;
- this.SetLineTable(var21 + var17 + this.pfm.stringWidth(var45), var36, var31, var18, var17, var1 - var21);
- }
- break;
- }
-
- var31 += var36;
- this.SetLineTable(var21 + var35 + this.pfm.stringWidth(var45), var36, var31, var18, var17, var1 - var21);
- var22 = 0;
- ++this.numberOfLines;
- int var54 = var17 + this.subtractHW(false, var31 + var38, var17);
- var21 += this.subtractHW(true, var31 + var38, var21);
- var17 = var54 + this.addHinderWidths(false, var31, var54, var38);
- var21 += this.addHinderWidths(true, var31, var21, var38);
- var35 = var17;
- }
- }
- }
- }
-
- this.imageUrls = new String[this.numOfImages];
- this.imageMap = new int[this.numOfImages * 4];
- this.linkMap = new int[this.numOfLinks * 4];
- this.linkData = new String[this.numOfLinks * 8];
- if (this.hinder_max_end_y > var31 + var38) {
- this.ConvertLineTable(var1, this.hinder_max_end_y + 1, this.field_0);
- } else {
- this.ConvertLineTable(var1, var31 + var38, this.field_0);
- }
-
- this.ConvertParaTables();
- }
- }
-