private async void ConvertButton_Click(object sender, RoutedEventArgs e) { var picker = new Windows.Storage.Pickers.FileOpenPicker { ViewMode = Windows.Storage.Pickers.PickerViewMode.Thumbnail, SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.DocumentsLibrary }; picker.FileTypeFilter.Add(".xml"); picker.FileTypeFilter.Add(".txt"); StorageFile file = await picker.PickSingleFileAsync(); var doc = CopticInterpreter.ReadDocXml(file.Path); if (String.IsNullOrWhiteSpace(OutputBox.Text)) { //OutputBox.Text += CopticInterpreter.ConvertFromString(doc.Content); InputBox.Text += doc.Translations[0]; } else { //string input = String.Join("\r\n", doc.Translations[0].Content.Select(s => s.Text)); //OutputBox.Text += CopticInterpreter.ConvertFont( // input, CopticFont.Coptic1, CopticFont.CopticUnicode //); //InputBox.Text += input; } //OutputBox.Text = CopticInterpreter.ConvertFromString(InputBox.Text); }
private void InputBox_TextChanged(object sender, TextChangedEventArgs e) { int caret = InputBox.SelectionStart; switch ((Language)LanguageOption.SelectedIndex) { case CoptLib.Language.Coptic: InputBox.Text = CopticInterpreter.ConvertFont(InputBox.Text, CopticFont.CsAvvaShenouda, CopticFont.CopticUnicode); break; } InputBox.SelectionStart = caret; }
private async void LoadDocs(bool present = false) { OutputBox.Text = ""; InputBox.Text = ""; IReadOnlyList <StorageFile> files = await ApplicationData.Current.RoamingFolder.GetFilesAsync(); try { if (files != null) { if (files.Count > 0) { Common.Docs.Clear(); foreach (StorageFile file in files) { Debug.WriteLine(file.Path); var doc = CopticInterpreter.ReadDocXml(file.Path); Common.Docs.Add(doc); Debug.WriteLine(doc.Name); } if (present) { Present(); } } else { Frame.Navigate(typeof(FilesPage)); } } else { Frame.Navigate(typeof(FilesPage)); } } catch (Exception ex) { Debug.WriteLine(ex); ContentDialog errorDialog = new ContentDialog() { Title = "Error", Content = ex, CloseButtonText = "Ok" }; await errorDialog.ShowAsync(); Frame.Navigate(typeof(FilesPage)); } }
private void ImportDoc(StorageFile file) { Debug.WriteLine(file.Path); var doc = CopticInterpreter.ReadDocXml(file.Path); FileView.Items.Add(new ListViewItem() { Content = $"{doc.Name} [{doc.Uuid}]", }); _files.Add(file); //Common.Docs.Add(doc); StatusBlock.Visibility = Visibility.Visible; StatusBlock.Foreground = new SolidColorBrush(Color.FromArgb(255, 15, 166, 0)); StatusBlock.Text = "Successfully copied " + file.Name; }
private async void OpenButton_Click(object sender, RoutedEventArgs e) { var picker = new FileOpenPicker(); picker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary; picker.FileTypeFilter.Add(".xml"); picker.FileTypeFilter.Add(".zip"); Windows.Storage.StorageFile file = await picker.PickSingleFileAsync(); if (file == null) { return; } var mru = Windows.Storage.AccessCache.StorageApplicationPermissions.MostRecentlyUsedList; _ = mru.Add(file, file.Name); var stream = await file.OpenStreamForReadAsync(); switch (Path.GetExtension(file.Name)) { case ".xml": // Read the file var docXml = CopticInterpreter.ReadDocXml(stream); Docs.Add(docXml); MainTabControl.SelectedIndex = Docs.Count - 1; return; case ".zip": // Read the set var set = CopticInterpreter.ReadSet(stream, file.Name, Windows.Storage.ApplicationData.Current.TemporaryFolder.Path); Docs.Clear(); set.IncludedDocs.ForEach(d => Docs.Add(d)); MainTabControl.SelectedIndex = 0; CurrentStanza = (set.IncludedDocs[0].Translations[0].Content[0] as Stanza)?.Text; return; } }
static void Main(string[] args) { string logPath = @"C:\Users\jjask\Desktop\log.txt"; Console.OutputEncoding = System.Text.Encoding.Unicode; var parameters = ParseArgs(args); CopticFont sourceFont = CopticFont.CsAvvaShenouda; CopticFont targetFont = CopticFont.CopticUnicode; if (parameters.ContainsKey("source-font")) { sourceFont = CopticFont.Fonts.Find((f) => f.Name == parameters["source-font"]); } if (parameters.ContainsKey("target-font")) { targetFont = CopticFont.Fonts.Find((f) => f.Name == parameters["target-font"]); } string output = ""; if (parameters.ContainsKey("source-txt")) { try { output = CopticInterpreter.ConvertFont( File.ReadAllText(parameters["source-file"]), sourceFont, targetFont ); } catch (FileNotFoundException) { Console.Error.WriteLine("Unable to read the source file"); } } else if (parameters.ContainsKey("")) { output = CopticInterpreter.ConvertFont( parameters[""], sourceFont, targetFont ); } else if (parameters.ContainsKey("source-csv")) { try { // Get the column to convert int columnNum = 0; if (parameters.ContainsKey("csv-column")) { columnNum = Int32.Parse(parameters["csv-column"]); } // Read the specified column List <string> inputText = new List <string>(); var table = ReadCsvFile(parameters["source-csv"]); foreach (List <string> row in table) { inputText.Add(row[columnNum]); } // Convert each line foreach (string input in inputText) { output += CopticInterpreter.ConvertFont( input, sourceFont, targetFont ); output += "\r\n"; } } catch (FileNotFoundException) { Console.Error.WriteLine("Unable to read the source file"); } } Console.WriteLine(output); File.WriteAllText(logPath, output, System.Text.Encoding.Unicode); }
/// <summary> /// Initializes the specified key /// </summary> /// <param name="btn">The key to initialize</param> /// <param name="keytype">Language to load: eng / copt / arabic + ":sft"</param> /// <param name="index"></param> private void InitKey(Button btn, Language language, bool shift, int index) { switch (language) { #region English case CoptLib.Language.English: if (shift) { if (EnglishSft[index] != null) { btn.Visibility = Visibility.Visible; btn.Content = EnglishSft[index]; } else { btn.Visibility = Visibility.Collapsed; } } else { if (English[index] != null) { btn.Visibility = Visibility.Visible; btn.Content = English[index]; } else { btn.Visibility = Visibility.Collapsed; } } return; #endregion #region Coptic case CoptLib.Language.Coptic: if (shift) { if (CopticSft[index] != null) { btn.Visibility = Visibility.Visible; btn.Content = CopticInterpreter.ConvertFont(EnglishSft[index], CopticFont.CsAvvaShenouda, CopticFont.CopticUnicode); } else { btn.Visibility = Visibility.Collapsed; } } else { if (Coptic[index] != null) { btn.Visibility = Visibility.Visible; var vals = CopticFont.CopticUnicode.Charmap.Values.ToList(); btn.Content = CopticInterpreter.ConvertFont(English[index], CopticFont.CsAvvaShenouda, CopticFont.CopticUnicode); } else { btn.Visibility = Visibility.Collapsed; } } return; #endregion #region Arabic case CoptLib.Language.Arabic: if (!shift) { if (ArabicSft[index] != null) { btn.Visibility = Visibility.Visible; btn.Content = ArabicSft[index]; } else { btn.Visibility = Visibility.Collapsed; } } else { if (Arabic[index] != null) { btn.Visibility = Visibility.Visible; btn.Content = Arabic[index]; } else { btn.Visibility = Visibility.Collapsed; } } return; #endregion } }