Exemplo n.º 1
0
        private void SaveFontAs( )
        {
            if (FO == null)
            {
                return;
            }
            if (m_TotalChars <= 0)
            {
                return;
            }

            if (comFileFormat.SelectedItem == null)
            {
                return;
            }
            if (!m_FCchooser.ContainsKey(( String )comFileFormat.SelectedItem))
            {
                return;                                                 // ERROR exit
            }
            FC = m_FCchooser[( String )comFileFormat.SelectedItem](FO); // call the selected format instance factory

            String ret = "";

            FontOptimizer.WidthTarget widthTarget = FontOptimizer.WidthTarget.WT_None;
            if (rbTrimMono.Checked)
            {
                widthTarget = FontOptimizer.WidthTarget.WT_Mono;
            }
            else if (rbTrimMinimum.Checked)
            {
                widthTarget = FontOptimizer.WidthTarget.WT_Minimum;
            }

            ret = FC.FontFile(txFirstChar.Text[0], m_TotalChars, widthTarget);
            String fName = "";

            fName = FC.FontNameCreated + ".h";

            sfDlg.FileName         = fName;
            sfDlg.InitialDirectory = appSettings.SaveDirPath;
            if (sfDlg.ShowDialog(this) != DialogResult.Cancel)
            {
                using (TextWriter tw = new StreamWriter(sfDlg.FileName, false)) {
                    tw.Write(ret);
                    FO.MakeThumbnail(sfDlg.FileName);
                    txFontName.Text         = String.Format("File: {0} created, code size is {1} bytes", Path.GetFileName(sfDlg.FileName), FC.CodeSize);
                    appSettings.SaveDirPath = Path.GetDirectoryName(sfDlg.FileName); appSettings.Save( );
                }
            }
        }