Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4366389

Font.canDisplay() is too slow for Asian fonts

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P2 P2
    • 1.4.0
    • 1.3.0
    • client-libs
    • 2d
    • merlin
    • sparc
    • solaris_2.5.1



      Name: dc32491 Date: 08/28/2000


      On Windows 2000(any language edition), install some Japanese/Chinese/Korean fonts(from Win2K installation CD), run the following code. The call to canDisplay('a') takes more than 6 seconds from each Asian font on a PIII 666 256M RAM computer.

      import java.awt.GraphicsEnvironment;
      import java.awt.Font;
      import java.awt.*;
      import java.util.*;

      public class Untitled1 {
        public Untitled1() {
          long start, end ;
          try{
            GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
            String[] ffNames = ge.getAvailableFontFamilyNames();
            for (int i = 0; i < ffNames.length; i++) {
              Font f = new Font(ffNames[i], 0, 12);
              start = System.currentTimeMillis();
              f.canDisplay('a');
              System.out.println("Check Font "+ffNames[i]+"takes "+(System.currentTimeMillis()-start)+" miliseconds");
            }
          } catch (Exception exc){
          }
         }

        public static void main(String[] args) {
          Untitled1 Untitled1 = new Untitled1();
        }
      }

      output:
      Check Font Aharonitakes 16 miliseconds

      Check Font Arialtakes 31 miliseconds

      Check Font Arial Blacktakes 32 miliseconds

      Check Font Arial Narrowtakes 15 miliseconds

      Check Font Batangtakes 6266 miliseconds

      Check Font BatangChetakes 6313 miliseconds

      Check Font Bookman Old Styletakes 31 miliseconds

      Check Font Comic Sans MStakes 16 miliseconds

      Check Font Courier Newtakes 94 miliseconds

      Check Font Davidtakes 15 miliseconds

      Check Font David Transparenttakes 94 miliseconds

      Check Font Defaulttakes 0 miliseconds

      Check Font Dialogtakes 0 miliseconds

      Check Font DialogInputtakes 0 miliseconds

      Check Font Dotumtakes 6672 miliseconds

      Check Font DotumChetakes 6312 miliseconds

      Check Font Fixed Miriam Transparenttakes 16 miliseconds

      Check Font FrankRuehltakes 16 miliseconds

      Check Font Garamondtakes 15 miliseconds

      Check Font Georgiatakes 16 miliseconds

      Check Font Gulimtakes 6297 miliseconds

      Check Font GulimChetakes 6312 miliseconds

      Check Font Gungsuhtakes 6344 miliseconds

      Check Font GungsuhChetakes 6328 miliseconds

      Check Font Impacttakes 16 miliseconds

      Check Font Levenim MTtakes 15 miliseconds

      Check Font Lucida Brighttakes 0 miliseconds

      Check Font Lucida Consoletakes 62 miliseconds

      Check Font Lucida Sanstakes 47 miliseconds

      Check Font Lucida Sans Typewritertakes 16 miliseconds

      Check Font Lucida Sans Unicodetakes 63 miliseconds

      Check Font Marletttakes 15 miliseconds

      Check Font Microsoft Sans Seriftakes 32 miliseconds

      Check Font MingLiUtakes 329 miliseconds

      Check Font Miriamtakes 15 miliseconds

      Check Font Miriam Fixedtakes 16 miliseconds

      Check Font Miriam Transparenttakes 15 miliseconds

      Check Font Monospacedtakes 0 miliseconds

      Check Font Monotype Sortstakes 16 miliseconds

      Check Font MS Gothictakes 1468 miliseconds

      Check Font MS Minchotakes 1094 miliseconds

      Check Font MS PGothictakes 1312 miliseconds

      Check Font MS PMinchotakes 938 miliseconds

      Check Font MS UI Gothictakes 1297 miliseconds

      Check Font Narkisimtakes 15 miliseconds

      Check Font NSimSuntakes 328 miliseconds

      Check Font Palatino Linotypetakes 94 miliseconds

      Check Font PMingLiUtakes 141 miliseconds

      Check Font Rodtakes 15 miliseconds

      Check Font Rod Transparenttakes 16 miliseconds

      Check Font SansSeriftakes 0 miliseconds

      Check Font Seriftakes 16 miliseconds

      Check Font SimHeitakes 281 miliseconds

      Check Font SimSuntakes 141 miliseconds

      Check Font Symboltakes 31 miliseconds

      Check Font Tahomatakes 47 miliseconds

      Check Font Times New Romantakes 0 miliseconds

      Check Font Trebuchet MStakes 15 miliseconds

      Check Font Verdanatakes 16 miliseconds

      Check Font Webdingstakes 16 miliseconds

      Check Font Wingdingstakes 31 miliseconds
      (Review ID: 108989)
      ======================================================================

            pkejriwasunw Parry Kejriwal (Inactive)
            duke J. Duke
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: