OSDN Git Service

Auto-save
[dvibrowser/dvi2epub.git] / src / jp / sourceforge / dvibrowser / dvicore / DviFontSpec.java
diff --git a/src/jp/sourceforge/dvibrowser/dvicore/DviFontSpec.java b/src/jp/sourceforge/dvibrowser/dvicore/DviFontSpec.java
deleted file mode 100644 (file)
index f08c56a..0000000
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright (c) 2009, Takeyuki Nagao
- * All rights reserved.
- * 
- * Redistribution and use in source and binary forms, with or
- * without modification, are permitted provided that the
- * following conditions are met:
- * 
- *  * Redistributions of source code must retain the above
- *    copyright notice, this list of conditions and the
- *    following disclaimer.
- *  * Redistributions in binary form must reproduce the above
- *    copyright notice, this list of conditions and the
- *    following disclaimer in the documentation and/or other
- *    materials provided with the distribution.
- *    
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
- * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- */
-
-package jp.sourceforge.dvibrowser.dvicore;
-
-import jp.sourceforge.dvibrowser.dvicore.util.Canonicalizer;
-import jp.sourceforge.dvibrowser.dvicore.util.SimpleCanonicalizer;
-
-// immutable.
-
-public final class DviFontSpec
-implements java.io.Serializable
-{
-  private static final long serialVersionUID = 2374998771511821276L;
-  private final int cs;          // check sum.
-  private final int ss;          // Space size.
-  private final int ds;          // Design size.
-  private final DviFontName fontName;
-
-  private final double dviPerTfmw;
-  private final int hash; // QUESTION: Should we make this transient?
-
-  private DviFontSpec(int cs, int ss, int ds, DviFontName fontName) {
-    this.cs = cs;
-    this.ss = ss;
-    this.ds = ds;
-    this.fontName = fontName;
-    this.hash = (
-      cs + 33*(ss + 33*(ds + 33*fontName.hashCode()))
-    );
-    dviPerTfmw = ss / (double) (1 << 20);
-  }
-
-  private static final Canonicalizer<DviFontSpec> canonicalizer
-    = new SimpleCanonicalizer<DviFontSpec>();
-  public static DviFontSpec getInstance(
-    int cs, int ss, int ds, DviFontName fontName)
-  {
-    return canonicalizer.canonicalize(
-      new DviFontSpec(cs, ss, ds, fontName)
-    );
-  }
-
-  public static DviFontSpec getInstance(
-    int cs, int ss, int ds, int al, int nl, byte [] name)
-  {
-    return getInstance(cs, ss, ds,
-      DviFontName.getInstance(al, nl, new String(name))
-    );
-  }
-
-  public static DviFontSpec getInstance(
-    int cs, int ss, int ds, int al, int nl, String name)
-  {
-    return getInstance(cs, ss, ds,
-      DviFontName.getInstance(al, nl, name)
-    );
-  }
-
-  public int checkSum()    { return cs; }
-  public int spaceSize()   { return ss; }
-  public int designSize()  { return ds; }
-  public int areaLength()  { return fontName.areaLength(); }
-  public int nameLength()  { return fontName.nameLength(); }
-  public DviFontName fontName() { return fontName; }
-  public String name() { return fontName.name(); }
-
-  public int tfmToDvi(int tfmw) {
-    return (int)(dviPerTfmw * tfmw);
-  }
-
-  private volatile String string = null;
-  public String toString() {
-    if (string == null) {
-      string = "FontSpec"
-             + "[cs=" + cs + ",ss=" + ss + ",ds=" + ds
-             + ",fontName=\"" + fontName + "\"]"
-             ;
-    }
-    return string;
-  }
-  public boolean equals(Object obj) {
-    if (this == obj) return true;
-    if (obj instanceof DviFontSpec) {
-      DviFontSpec fs = (DviFontSpec) obj;
-      return (isCompatibleWith(fs) && (cs == fs.cs));
-    }
-    return false;
-  }
-  public boolean isCompatibleWith(DviFontSpec fs) {
-    return (
-             (fs != null)
-             && (ss == fs.ss) && (ds == fs.ds)
-             && fontName.equals(fs.fontName)
-           );
-  }
-
-  public int hashCode() {
-    return hash;
-  }
-
-  public DviFontSpec rename(String newName)
-  {
-    return getInstance(cs, ss, ds,
-        DviFontName.getInstance(newName)
-      );
-  }
-}