c2025727212aa8493dab88e45b6e8fe795eb2a1e
[jalviewjs.git] / site / j2s / jssun / font / FontUtilities.js
1 Clazz.declarePackage ("jssun.font");\r
2 Clazz.load (null, "jssun.font.FontUtilities", ["java.io.BufferedReader", "$.File", "$.FileInputStream", "$.InputStreamReader", "java.lang.Float"], function () {\r
3 c$ = Clazz.declareType (jssun.font, "FontUtilities");\r
4 c$.isComplexCharCode = Clazz.defineMethod (c$, "isComplexCharCode", \r
5 function (code) {\r
6 if (code < 768 || code > 8303) {\r
7 return false;\r
8 } else if (code <= 0x036f) {\r
9 return true;\r
10 } else if (code < 0x0590) {\r
11 return false;\r
12 } else if (code <= 0x06ff) {\r
13 return true;\r
14 } else if (code < 0x0900) {\r
15 return false;\r
16 } else if (code <= 0x0e7f) {\r
17 return true;\r
18 } else if (code < 0x0f00) {\r
19 return false;\r
20 } else if (code <= 0x0fff) {\r
21 return true;\r
22 } else if (code < 0x1100) {\r
23 return false;\r
24 } else if (code < 0x11ff) {\r
25 return true;\r
26 } else if (code < 0x1780) {\r
27 return false;\r
28 } else if (code <= 0x17ff) {\r
29 return true;\r
30 } else if (code < 0x200c) {\r
31 return false;\r
32 } else if (code <= 0x200d) {\r
33 return true;\r
34 } else if (code >= 0x202a && code <= 0x202e) {\r
35 return true;\r
36 } else if (code >= 0x206a && code <= 0x206f) {\r
37 return true;\r
38 }return false;\r
39 }, "~N");\r
40 c$.isLogging = Clazz.defineMethod (c$, "isLogging", \r
41 function () {\r
42 return jssun.font.FontUtilities.logging;\r
43 });\r
44 c$.debugFonts = Clazz.defineMethod (c$, "debugFonts", \r
45 function () {\r
46 return jssun.font.FontUtilities.$debugFonts;\r
47 });\r
48 c$.fontSupportsDefaultEncoding = Clazz.defineMethod (c$, "fontSupportsDefaultEncoding", \r
49 function (font) {\r
50 return false;\r
51 }, "java.awt.Font");\r
52 c$.mapFcName = Clazz.defineMethod (c$, "mapFcName", \r
53 function (name) {\r
54 for (var i = 0; i < jssun.font.FontUtilities.nameMap.length; i++) {\r
55 if (name.equals (jssun.font.FontUtilities.nameMap[i][0])) {\r
56 return jssun.font.FontUtilities.nameMap[i][1];\r
57 }}\r
58 return null;\r
59 }, "~S");\r
60 Clazz.defineStatics (c$,\r
61 "isSolaris", false,\r
62 "isLinux", false,\r
63 "isMacOSX", false,\r
64 "isSolaris8", false,\r
65 "isSolaris9", false,\r
66 "isOpenSolaris", false,\r
67 "useT2K", false,\r
68 "isWindows", false,\r
69 "isOpenJDK", false,\r
70 "LUCIDA_FILE_NAME", "LucidaSansRegular.ttf",\r
71 "$debugFonts", false,\r
72 "logging", false);\r
73 {\r
74 var osName = System.getProperty ("os.name", "unknownOS");\r
75 jssun.font.FontUtilities.isSolaris = osName.startsWith ("SunOS");\r
76 jssun.font.FontUtilities.isLinux = osName.startsWith ("Linux");\r
77 jssun.font.FontUtilities.isMacOSX = osName.contains ("OS X");\r
78 var t2kStr = System.getProperty ("jssun.java2d.font.scaler");\r
79 if (t2kStr != null) {\r
80 jssun.font.FontUtilities.useT2K = "t2k".equals (t2kStr);\r
81 } else {\r
82 jssun.font.FontUtilities.useT2K = false;\r
83 }if (jssun.font.FontUtilities.isSolaris) {\r
84 var version = System.getProperty ("os.version", "0.0");\r
85 jssun.font.FontUtilities.isSolaris8 = version.startsWith ("5.8");\r
86 jssun.font.FontUtilities.isSolaris9 = version.startsWith ("5.9");\r
87 var ver = Float.parseFloat (version);\r
88 if (ver > 5.10) {\r
89 var f =  new java.io.File ("/etc/release");\r
90 var line = null;\r
91 try {\r
92 var fis =  new java.io.FileInputStream (f);\r
93 var isr =  new java.io.InputStreamReader (fis, "ISO-8859-1");\r
94 var br =  new java.io.BufferedReader (isr);\r
95 line = br.readLine ();\r
96 fis.close ();\r
97 } catch (ex) {\r
98 if (Clazz.exceptionOf (ex, Exception)) {\r
99 } else {\r
100 throw ex;\r
101 }\r
102 }\r
103 if (line != null && line.indexOf ("OpenSolaris") >= 0) {\r
104 jssun.font.FontUtilities.isOpenSolaris = true;\r
105 } else {\r
106 jssun.font.FontUtilities.isOpenSolaris = false;\r
107 }} else {\r
108 jssun.font.FontUtilities.isOpenSolaris = false;\r
109 }} else {\r
110 jssun.font.FontUtilities.isSolaris8 = false;\r
111 jssun.font.FontUtilities.isSolaris9 = false;\r
112 jssun.font.FontUtilities.isOpenSolaris = false;\r
113 }jssun.font.FontUtilities.isWindows = osName.startsWith ("Windows");\r
114 var jreLibDirName = System.getProperty ("java.home", "") + java.io.File.separator + "lib";\r
115 var jreFontDirName = jreLibDirName + java.io.File.separator + "fonts";\r
116 var lucidaFile =  new java.io.File (jreFontDirName + java.io.File.separator + "LucidaSansRegular.ttf");\r
117 jssun.font.FontUtilities.isOpenJDK = !lucidaFile.exists ();\r
118 var debugLevel = System.getProperty ("jssun.java2d.debugfonts");\r
119 if (debugLevel != null && !debugLevel.equals ("false")) {\r
120 jssun.font.FontUtilities.$debugFonts = true;\r
121 }if (jssun.font.FontUtilities.$debugFonts) {\r
122 }}Clazz.defineStatics (c$,\r
123 "MIN_LAYOUT_CHARCODE", 0x0300,\r
124 "MAX_LAYOUT_CHARCODE", 0x206F,\r
125 "nameMap",  Clazz.newArray (-1, [ Clazz.newArray (-1, ["sans", "sansserif"]),  Clazz.newArray (-1, ["sans-serif", "sansserif"]),  Clazz.newArray (-1, ["serif", "serif"]),  Clazz.newArray (-1, ["monospace", "monospaced"])]));\r
126 });\r