예제 #1
0
        private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            System.Diagnostics.Process.GetCurrentProcess().PriorityClass = System.Diagnostics.ProcessPriorityClass.RealTime;
            BackgroundWorker worker = sender as BackgroundWorker;

            //Debugger.Break();
            ZiLib.IZiFont myFont         = e.Argument as ZiLib.IZiFont;
            int           totalbytecount = 0;
            int           count          = myFont.CharacterCount;

            for (int i = 0; i < count; i++)
            {
                totalbytecount += myFont.Characters[i].GetCharacterData().Length;
                if (i % 100 == 0)
                {
                    worker.ReportProgress(i * 100 / count);
                }
            }
        }
        private void btnOpenFont_Click(object sender, EventArgs e)
        {
            var res = ofd.ShowDialog();

            if (res == DialogResult.OK)
            {
                var ziFont2 = ZiLib.FileVersion.Common.ZiFont.FromFile(ofd.FileName);

                if (ziFont2 != null)
                {
                    ziFont          = ziFont2;
                    numChar.Maximum = ziFont.CodePage.CharacterCount; // - 1;
                    numChar.Minimum = -1;
                    numChar.Value   = 1;
                }
                else
                {
                    MessageBox.Show("Unsopported file format.", "Error", MessageBoxButtons.OK);
                }
                UpdateCharacter();
            }
        }