Changing font globally


Author
Message
Neil Turp
Neil Turp
Forum Newbie (9 reputation)Forum Newbie (9 reputation)Forum Newbie (9 reputation)Forum Newbie (9 reputation)Forum Newbie (9 reputation)Forum Newbie (9 reputation)Forum Newbie (9 reputation)Forum Newbie (9 reputation)Forum Newbie (9 reputation)
Group: Forum Members
Posts: 0, Visits: 166
I have an app where the user is allowed to change the font name/size of a file completely.  I know all formatting is lost but this is what the users want.  The code I am using is

NRichTextView mmdv = new NRichTextView()
...
mmdv.Content.Selection.SelectAll();
mmdv.Content.Selection.SetFontSizeToSelectedInLines(24.0);
mmdv.Content.Selection.DeselectAll();

but that doesn't work.  I've also tried stepping through the Sections
for (int a = 0; a < mmdv.Content.Sections.Count; a++)
{
  mmdv.Content.Sections[a].FontName = "Cochin";
etc
}
Nothing works.  Obviously I've misunderstood something somewhere but can anyone throw light on it?
Neil

Nevron Support
Nevron Support
Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)
Group: Administrators
Posts: 3.1K, Visits: 4.2K
Hi Neil,
We weren't able to replicate that - we tried:

   NRichTextView view = (NRichTextView)nRichTextViewWithRibbonControl1.Widget.GetFirstDescendant(NRichTextView.NRichTextViewSchema);

   view.Content.Selection.SelectAll();
   view.Content.Selection.SetFontSizeToSelectedInlines(24.0f);
   view.Content.Selection.SetFontNameToSelectedInlines("Arial");
   view.Content.Selection.DeselectAll();

And it was working correctly - so there must be something else about this problem. Can you post the complete code you use to load the document? Also can you send that document you're testing with?


Best Regards,
Nevron Support Team


Neil Turp
Neil Turp
Forum Newbie (9 reputation)Forum Newbie (9 reputation)Forum Newbie (9 reputation)Forum Newbie (9 reputation)Forum Newbie (9 reputation)Forum Newbie (9 reputation)Forum Newbie (9 reputation)Forum Newbie (9 reputation)Forum Newbie (9 reputation)
Group: Forum Members
Posts: 0, Visits: 166
My apologies.  After changing the font, I had included a default formatting in a subsequent routine.
N

Neil Turp
Neil Turp
Forum Newbie (9 reputation)Forum Newbie (9 reputation)Forum Newbie (9 reputation)Forum Newbie (9 reputation)Forum Newbie (9 reputation)Forum Newbie (9 reputation)Forum Newbie (9 reputation)Forum Newbie (9 reputation)Forum Newbie (9 reputation)
Group: Forum Members
Posts: 0, Visits: 166
Hi
Here is a follow up on this:
I am using a NFontNameThumbnailComboBox to allow the user to selct a font.  Now I find it all works (to a greater or lesser extent - some fonts like Farisi cut off the top of the line or para) if I choose a font whose name is one word like ApplyMyungjo or Arimo - the selected text all changes to the selected font and the value is saved.  However, if I choose a font whose name is two or more words like Comic Sans MS or Brush Script MT, the stored value is the concatenated string (ComicSansMS or BrushScriptMT) and the font in the NRichTextview is not changed.
What is causing it to cut off the top of the line/paragraph with some fonts (Farisi) and not others?
Is there either a way to stop the problem with the multi-worded fonts or a way to remove the multi-worded fonts from the list of available fonts?
Thanks
Neil

Nevron Support
Nevron Support
Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)
Group: Administrators
Posts: 3.1K, Visits: 4.2K
Hi Neil,
How do you get the font name from the combo box - we tested with the following code on windows and it was working OK:

using Nevron.Nov.UI;
using Nevron.Nov.Windows.Forms;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace TestThumbnailCombo
{
 public partial class Form1 : Form
 {
  NFontNameThumbnailComboBox fontThumbnailCombo;

  public Form1()
  {
   InitializeComponent();

   // clear all controls from the form
   
   // Add a NOV widget inside the form
   fontThumbnailCombo = new NFontNameThumbnailComboBox();

   fontThumbnailCombo.SelectedIndexChanged += SayHelloWorld_SelectedIndexChanged;
   Controls.Add(new NNovWidgetHost<NFontNameThumbnailComboBox>(fontThumbnailCombo));

  }

  private void SayHelloWorld_SelectedIndexChanged(Nevron.Nov.Dom.NValueChangeEventArgs arg)
  {
   textBox1.Text = fontThumbnailCombo.SelectedItem.Text;
  }
 }
}
Regarding the cutoff - it is caused by the fact that some font report smaller ascent / descent than the actual ascent descent of the rendered glyphs. On the other hand the paragraph rendering is clipped in order for the paragraph to be cached by the internal render cache of the control which leads to those cutoffs. We have implemented a fix that internally inflates the clip bound of the paragraph with the maximum font ascent/descent metrics from the HHEA font table, which should take care of this and will publish a SP yearly next week for you to try it.




Best Regards,
Nevron Support Team


Neil Turp
Neil Turp
Forum Newbie (9 reputation)Forum Newbie (9 reputation)Forum Newbie (9 reputation)Forum Newbie (9 reputation)Forum Newbie (9 reputation)Forum Newbie (9 reputation)Forum Newbie (9 reputation)Forum Newbie (9 reputation)Forum Newbie (9 reputation)
Group: Forum Members
Posts: 0, Visits: 166
This is C# Xamarin on OSX so it may be an OSX thing.  I have a variable NSFont called MMFont which I fill from the NFontNameThumbNailComboBox fpSelect when they choose a new font:

MMFont = NSFont.FromFontName(fpSelect.FontName, 14.0)

then load into the NRichTextView control mmdv:

  mmdv.Content.Selection.SelectAll();
  mmdv.Content.Selection.SetFontSizeToSelectedInlines(MMFont.PointSize);
  mmdv.Content.Selection.SetFontNameToSelectedInlines(MMFont.DisplayName);
  mmdv.Content.Selection.DeselectAll();

Thanks
Neil

Nevron Support
Nevron Support
Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)
Group: Administrators
Posts: 3.1K, Visits: 4.2K
Hi Neil,

Can you send us a project that replicates that? We checked the font name combo on mac and it appeared to report correct file names without the concatenation.


Best Regards,
Nevron Support Team


Neil Turp
Neil Turp
Forum Newbie (9 reputation)Forum Newbie (9 reputation)Forum Newbie (9 reputation)Forum Newbie (9 reputation)Forum Newbie (9 reputation)Forum Newbie (9 reputation)Forum Newbie (9 reputation)Forum Newbie (9 reputation)Forum Newbie (9 reputation)
Group: Forum Members
Posts: 0, Visits: 166
I've sorted it.  You need to use FamilyName, not DisplayName

  mmdv.Content.Selection.SelectAll();
  mmdv.Content.Selection.SetFontSizeToSelectedInlines(MMFont.PointSize);
  mmdv.Content.Selection.SetFontNameToSelectedInlines(MMFont.FamilyName);
  mmdv.Content.Selection.DeselectAll();

For example, 'Brush Script MT' has a FamilyName 'Brush Script MT' but a DisplayName 'Brush Script MT Italic' and somehow this was stopping the NRichTextView from changing the font.
Thanks
Neil

Nevron Support
Nevron Support
Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)
Group: Administrators
Posts: 3.1K, Visits: 4.2K
Hi Neil,
We're glad you fixed it. You can also download the latest SP of NOV which features an update the to the font thumbnail combo box with better font measurement. Also the paragraph clipping for certain fonts should be gone. Let us know if you meet any problems or have any questions.


Best Regards,
Nevron Support Team


GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Similar Topics

Reading This Topic
1 active, 1 guest, 0 members, 0 anonymous
No members currently viewing this topic!

Login

Explore
Messages
Mentions
Search