home *** CD-ROM | disk | FTP | other *** search
- package netscape.application;
-
- public class FontMetrics {
- Font _font;
- java.awt.FontMetrics _awtMetrics;
- static final String LEADING = "Leading";
- static final String ASCENT = "Ascent";
- static final String DESCENT = "Descent";
- static final String TOTAL_HEIGHT = "Total Height";
- static final String MAX_ASCENT = "Maximum Ascent";
- static final String MAX_DESCENT = "Maximum Descent";
- static final String MAX_ADVANCE = "Maximum Advance";
-
- public FontMetrics() {
- }
-
- public FontMetrics(Font var1) {
- this();
- this._font = var1;
- if (!this._font.wasDownloaded()) {
- this._awtMetrics = AWTCompatibility.awtToolkit().getFontMetrics(this._font._awtFont);
- }
-
- }
-
- FontMetrics(java.awt.FontMetrics var1) {
- this();
- this._font = AWTCompatibility.fontForAWTFont(var1.getFont());
- this._awtMetrics = var1;
- }
-
- public Font font() {
- return this._font;
- }
-
- public int leading() {
- return this._awtMetrics != null ? this._awtMetrics.getLeading() : this._font._intValueFromDescription("Leading");
- }
-
- public int ascent() {
- return this._awtMetrics != null ? this._awtMetrics.getAscent() : this._font._intValueFromDescription("Ascent");
- }
-
- public int descent() {
- return this._awtMetrics != null ? this._awtMetrics.getDescent() : this._font._intValueFromDescription("Descent");
- }
-
- public int height() {
- return this._awtMetrics != null ? this._awtMetrics.getHeight() : this._font._intValueFromDescription("Total Height");
- }
-
- public int charHeight() {
- return this._awtMetrics != null ? this._awtMetrics.getAscent() + this._awtMetrics.getDescent() : this._font._intValueFromDescription("Ascent") + this._font._intValueFromDescription("Descent");
- }
-
- public int maxAscent() {
- return this._awtMetrics != null ? this._awtMetrics.getMaxAscent() : this._font._intValueFromDescription("Maximum Ascent");
- }
-
- public int maxDescent() {
- return this._awtMetrics != null ? this._awtMetrics.getMaxDecent() : this._font._intValueFromDescription("Maximum Descent");
- }
-
- public int maxAdvance() {
- return this._awtMetrics != null ? this._awtMetrics.getMaxAdvance() : this._font._intValueFromDescription("Maximum Advance");
- }
-
- public int charWidth(int var1) {
- return this._awtMetrics != null ? this._awtMetrics.charWidth(var1) : 0;
- }
-
- public int charWidth(char var1) {
- return this._awtMetrics != null ? this._awtMetrics.charWidth(var1) : 0;
- }
-
- public int stringWidth(String var1) {
- if (var1 == null) {
- return 0;
- } else if (this._awtMetrics != null) {
- return this._awtMetrics.stringWidth(var1);
- } else {
- int var2 = 0;
-
- for(int var3 = 0; var3 < var1.length(); ++var3) {
- char var4 = var1.charAt(var3);
- if (var4 >= 0 && var4 < this._font._widthsArray.length) {
- var2 += this._font._widthsArray[var4];
- }
- }
-
- return var2;
- }
- }
-
- public int stringHeight() {
- return this.ascent() + this.descent();
- }
-
- public Size stringSize(String var1) {
- return new Size(this.stringWidth(var1), this.stringHeight());
- }
-
- public int charsWidth(char[] var1, int var2, int var3) {
- return this._awtMetrics != null ? this._awtMetrics.charsWidth(var1, var2, var3) : 0;
- }
-
- public int bytesWidth(byte[] var1, int var2, int var3) {
- return this._awtMetrics != null ? this._awtMetrics.bytesWidth(var1, var2, var3) : 0;
- }
-
- public int[] widthsArray() {
- return this._awtMetrics != null ? this._awtMetrics.getWidths() : this._font._widthsArray;
- }
-
- public int widthsArrayBase() {
- return this._font._widthsArrayBase;
- }
-
- public String toString() {
- return this._awtMetrics != null ? this._awtMetrics.toString() : "";
- }
- }
-