/// </summary>\r
public sealed class InstalledFontCollection : FontCollection\r
{\r
- Hashtable _names;\r
- public InstalledFontCollection()\r
- {\r
- _fonts.AddRange(\r
- java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts());\r
+ static readonly Hashtable _installedFonts;\r
\r
- Hashtable h = CollectionsUtil.CreateCaseInsensitiveHashtable(_fonts.Count);\r
- for (int i = 0; i < _fonts.Count; i++) {\r
- string family = ((awt.Font)_fonts[i]).getFamily();\r
- if (!h.ContainsKey(family))\r
- h[family] = family;\r
+ static InstalledFontCollection()\r
+ {\r
+ _installedFonts = CollectionsUtil.CreateCaseInsensitiveHashtable( new Hashtable() );\r
+ java.awt.Font [] fonts = java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts();\r
+ for (int i = 0; i < fonts.Length; i++) {\r
+ string fontFamilyName = fonts[i].getFamily();\r
+ if (!_installedFonts.ContainsKey( fontFamilyName ))\r
+ _installedFonts.Add(fontFamilyName, fonts[i]);\r
}\r
-\r
- _names = h;\r
}\r
\r
- internal override string GetFamilyName(string name) {\r
- return (string)_names[name];\r
+ public InstalledFontCollection() : base( _installedFonts ) {\r
}\r
-\r
}\r
}\r