Skip to content

Underline and StrikeThrough incorrect when given font size is very smaller #75

@mzh3511

Description

@mzh3511

Given a smaller font size, when painting a TextBlock, the underline and strike-through line are very thick

Due to business logic requirements, my calculated font size is very smaller, but needs to zoom in and be displayed by other modules, the following is my demo code and the screenshot

        private void skglControl1_PaintSurface(object sender, SkiaSharp.Views.Desktop.SKPaintGLSurfaceEventArgs e)
        {
            var surface = e.Surface;
            var canvas = surface.Canvas;

            canvas.Clear(SKColors.White);
            canvas.Scale(20, 20);

            var textBlock = new TextBlock();
            textBlock.AddText("Hello, world", new Style()
                                              {
                                                  FontFamily = "Arial",
                                                  TextColor = SKColors.Black,
                                                  FontSize = 3,
                                                  StrikeThrough = StrikeThroughStyle.Solid,
                                                  Underline = UnderlineStyle.Solid
                                              });
            textBlock.Paint(canvas, new SKPoint(1, 5));
        }

image

I found this is because of 3 if statements in FontRun.cs
image

Is this a valid issue? can I create a pull request to remove the 3 if statements? thanks

A real business logic requirement: The user requires to export the diagram to pdf by Skia, the diagram is very very big, they want to draw it on the A4 paper size pdf file, then the user zoom in at a large scale to see the pdf file clearly, and they saw that the underline is very very thick

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions