From 69164e6c0c920961c6a60f127a9f3c79d15502c3 Mon Sep 17 00:00:00 2001 From: HendrikThePendric Date: Wed, 16 Oct 2024 14:20:38 +0200 Subject: [PATCH] fix: add plugin to fix nonASCII font bug and combine pdf export bugfix plugins --- src/visualizations/config/generators/highcharts/index.js | 4 ++-- .../generators/highcharts/pdfExportBugFixPlugin/index.js | 7 +++++++ .../highcharts/pdfExportBugFixPlugin/nonASCIIFont.js | 9 +++++++++ .../textShadow.js} | 0 4 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 src/visualizations/config/generators/highcharts/pdfExportBugFixPlugin/index.js create mode 100644 src/visualizations/config/generators/highcharts/pdfExportBugFixPlugin/nonASCIIFont.js rename src/visualizations/config/generators/highcharts/{pdf_export_fix_plugin.js => pdfExportBugFixPlugin/textShadow.js} (100%) diff --git a/src/visualizations/config/generators/highcharts/index.js b/src/visualizations/config/generators/highcharts/index.js index ef48c6a29..3620e81f5 100644 --- a/src/visualizations/config/generators/highcharts/index.js +++ b/src/visualizations/config/generators/highcharts/index.js @@ -6,7 +6,7 @@ import HNDTD from 'highcharts/modules/no-data-to-display' import HOE from 'highcharts/modules/offline-exporting' import HPF from 'highcharts/modules/pattern-fill' import HSG from 'highcharts/modules/solid-gauge' -import PEFP from './pdf_export_fix_plugin.js' +import PEBFP from './pdfExportBugFixPlugin/index.js' // apply HM(H) @@ -16,7 +16,7 @@ HE(H) HOE(H) HPF(H) HB(H) -PEFP(H) +PEBFP(H) /* Whitelist some additional SVG attributes here. Without this, * the PDF export for the SingleValue visualization breaks. */ diff --git a/src/visualizations/config/generators/highcharts/pdfExportBugFixPlugin/index.js b/src/visualizations/config/generators/highcharts/pdfExportBugFixPlugin/index.js new file mode 100644 index 000000000..7b4899cde --- /dev/null +++ b/src/visualizations/config/generators/highcharts/pdfExportBugFixPlugin/index.js @@ -0,0 +1,7 @@ +import nonASCIIFontBugfix from './nonASCIIFont.js' +import textShadowBugFix from './textShadow.js' + +export default function (H) { + textShadowBugFix(H) + nonASCIIFontBugfix(H) +} diff --git a/src/visualizations/config/generators/highcharts/pdfExportBugFixPlugin/nonASCIIFont.js b/src/visualizations/config/generators/highcharts/pdfExportBugFixPlugin/nonASCIIFont.js new file mode 100644 index 000000000..d2c8d9835 --- /dev/null +++ b/src/visualizations/config/generators/highcharts/pdfExportBugFixPlugin/nonASCIIFont.js @@ -0,0 +1,9 @@ +/* This is a workaround for https://github.com/highcharts/highcharts/issues/22008 + * We add some transparent text in a non-ASCII script to the chart to prevent + * the chart from being exported in a serif font */ + +export default function (H) { + H.addEvent(H.Chart, 'load', function () { + this.renderer.text('ыки', 20, 20).attr({ opacity: 0 }).add() + }) +} diff --git a/src/visualizations/config/generators/highcharts/pdf_export_fix_plugin.js b/src/visualizations/config/generators/highcharts/pdfExportBugFixPlugin/textShadow.js similarity index 100% rename from src/visualizations/config/generators/highcharts/pdf_export_fix_plugin.js rename to src/visualizations/config/generators/highcharts/pdfExportBugFixPlugin/textShadow.js