oxyplot / oxyplot-xamarin

OxyPlot for Xamarin.Mac and Xamarin.Forms

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PdfExporter not supported Cyrillic

vitalii-vov opened this issue · comments

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 oxyplot/oxyplot#955
But it doesn't seem to work for xamarin?

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.

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.