oxyplot-xamarin icon indicating copy to clipboard operation
oxyplot-xamarin copied to clipboard

PdfExporter not supported Cyrillic

Open vitalii-vov opened this issue 3 years ago • 2 comments
trafficstars

Hello. I'm trying to generate a PDF document from a graph using the PdfExporter class.

var exporter = new PdfExporter { Width = width, Height = height, Background = background };
exporter.Export(model, stream);

One of the axes contains Cyrillic characters

var yAxis = new LinearAxis
{
    Position = AxisPosition.Left,
    Title = "FHR, уд/мин" // <- Cyrillic symbols
};

Garbage is displayed instead of characters in the document Снимок экрана 2022-05-04 в 16 53 56

I tried to solve this with the DefaultFont property, like here https://github.com/oxyplot/oxyplot/issues/955 But it doesn't seem to work for xamarin?

vitalii-vov avatar May 04 '22 13:05 vitalii-vov

Which PDF exporter are you using? The one in the core library has poor unicode support, and it is generally better to use the one provided in OxyPlot.SkiaSharp which is a more complete implementation.

VisualMelon avatar May 04 '22 14:05 VisualMelon

I am using PdfRenderer included in OxyPlot.Xamarin.Forms

If we use OxyPlot.SkiaSharp.PdfRenderer we will get an error:

Type OxyPlot.Xamarin.iOS.CoreGraphicsRenderContext has invalid vtable method slot 7 with method OxyPlot.RenderContextBase:DrawLine (System.Collections.Generic.IList`1<OxyPlot.ScreenPoint>,OxyPlot.OxyColor,double,OxyPlot.EdgeRenderingMode,double[] ,OxyPlot.LineJoin)

This error occurs when the application starts, since the regular OxyPlot.Xamarin.Forms library is used to display graphs I tried to do this before, but because of this error, nothing worked for me.

vitalii-vov avatar May 04 '22 15:05 vitalii-vov