示例#1
0
        private static void ensureArialMSFontInstalledOrIgnored()
        {
            // check if Arial Unicode MS is installed or not
            string fontName    = "Arial Unicode MS";
            bool   isInstalled = false;

            var fontsCollection = new InstalledFontCollection();

            foreach (var fontFamily in fontsCollection.Families)
            {
                if (fontFamily.Name == fontName)
                {
                    isInstalled = true;
                }
            }

            // check if the client already clicked to "do not ask again" button
            bool dontAskAgainIsTrue = Settings.Instance.FontMissingWindowDoNotAskAgain;

            // show missing font form
            if (!isInstalled && !dontAskAgainIsTrue)
            {
                MissingFontDialogViewModel vm  = new MissingFontDialogViewModel();
                MissingFontDialogView      iqf = new MissingFontDialogView(vm);
                iqf.Owner = Application.Current.MainWindow;
                iqf.ShowDialog();

                if (vm.InstallFont)
                {
                    string path     = Path.GetTempPath();
                    string fileName = Path.Combine(path, "arial-unicode-ms.ttf");
                    if (File.Exists(fileName))
                    {
                        File.Delete(fileName);
                    }
                    using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("MemoQ.VideoPreview.Fonts.arial-unicode-ms.ttf"))
                        using (Stream writer = new FileStream(fileName, FileMode.Create))
                            stream.CopyTo(writer);

                    Process.Start(fileName).WaitForExit();
                    File.Delete(fileName);
                }

                if (vm.IgnorePermamently)
                {
                    Settings.Instance.FontMissingWindowDoNotAskAgain = true;
                    Settings.Instance.SaveSettings();
                }
            }
        }
示例#2
0
 public MissingFontDialogView(MissingFontDialogViewModel vm)
 {
     InitializeComponent();
     DataContext = vm;
 }