From 4b50491e5a923f679c639d9570185f738861cb69 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 9 Dec 2025 08:17:04 +0000 Subject: [PATCH 1/5] Initial plan From 421f9d44dab850c097cc5ca1bb107c3f8fc36903 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 9 Dec 2025 08:33:53 +0000 Subject: [PATCH 2/5] Add Unicode font support for PDF export to fix non-Latin text rendering Co-authored-by: gedinakova <16817847+gedinakova@users.noreply.github.com> --- .../core/src/services/pdf/pdf-exporter.ts | 19 +++++++++++++------ .../src/services/pdf/roboto-subset-font.ts | 18 ++++++++++++++++++ 2 files changed, 31 insertions(+), 6 deletions(-) create mode 100644 projects/igniteui-angular/grids/core/src/services/pdf/roboto-subset-font.ts diff --git a/projects/igniteui-angular/grids/core/src/services/pdf/pdf-exporter.ts b/projects/igniteui-angular/grids/core/src/services/pdf/pdf-exporter.ts index 119acf8fa28..08f9aaca18a 100644 --- a/projects/igniteui-angular/grids/core/src/services/pdf/pdf-exporter.ts +++ b/projects/igniteui-angular/grids/core/src/services/pdf/pdf-exporter.ts @@ -4,6 +4,7 @@ import { ExportUtilities } from '../exporter-common/export-utilities'; import { IgxPdfExporterOptions } from './pdf-exporter-options'; import { IBaseEventArgs } from 'igniteui-angular/core'; import type { jsPDF } from 'jspdf'; +import { RobotoSubsetFont } from './roboto-subset-font'; export interface IPdfExportEndedEventArgs extends IBaseEventArgs { pdf?: jsPDF; @@ -222,6 +223,11 @@ export class IgxPdfExporterService extends IgxBaseExporter { format: options.pageSize }); + // Add Unicode-capable font for non-Latin character support + // This allows proper rendering of Chinese, Japanese, and other non-Latin scripts + pdf.addFileToVFS('Roboto-Subset.ttf', RobotoSubsetFont); + pdf.addFont('Roboto-Subset.ttf', 'Roboto', 'normal'); + const pageWidth = pdf.internal.pageSize.getWidth(); const pageHeight = pdf.internal.pageSize.getHeight(); const margin = 40; @@ -241,7 +247,8 @@ export class IgxPdfExporterService extends IgxBaseExporter { let yPosition = margin; - // Set font + // Set font to Roboto for Unicode support + pdf.setFont('Roboto', 'normal'); pdf.setFontSize(options.fontSize); // Draw multi-level headers if present @@ -268,7 +275,7 @@ export class IgxPdfExporterService extends IgxBaseExporter { } // Draw data rows - pdf.setFont('helvetica', 'normal'); + pdf.setFont('Roboto', 'normal'); // Check if this is a tree grid export (tree grids can have both TreeGridRecord and DataRecord types for nested children) const isTreeGridExport = data.some(record => record.type === ExportRecordType.TreeGridRecord); @@ -423,7 +430,7 @@ export class IgxPdfExporterService extends IgxBaseExporter { allColumns?: any[] ): number { let yPosition = yStart; - pdf.setFont('helvetica', 'bold'); + pdf.setFont('Roboto', 'bold'); // First, draw row dimension header labels (for pivot grids) if present // Draw headers if we have any row dimension headers, regardless of maxRowLevel @@ -633,7 +640,7 @@ export class IgxPdfExporterService extends IgxBaseExporter { yPosition = yStart + totalHeaderHeight; } - pdf.setFont('helvetica', 'normal'); + pdf.setFont('Roboto', 'normal'); return yPosition; } @@ -842,7 +849,7 @@ export class IgxPdfExporterService extends IgxBaseExporter { tableWidth: number, options: IgxPdfExporterOptions ): void { - pdf.setFont('helvetica', 'bold'); + pdf.setFont('Roboto', 'bold'); pdf.setFillColor(240, 240, 240); if (options.showTableBorders) { @@ -908,7 +915,7 @@ export class IgxPdfExporterService extends IgxBaseExporter { pdf.text(headerText, textX, textY); }); - pdf.setFont('helvetica', 'normal'); + pdf.setFont('Roboto', 'normal'); } private drawDataRow( diff --git a/projects/igniteui-angular/grids/core/src/services/pdf/roboto-subset-font.ts b/projects/igniteui-angular/grids/core/src/services/pdf/roboto-subset-font.ts new file mode 100644 index 00000000000..4c0a94323ea --- /dev/null +++ b/projects/igniteui-angular/grids/core/src/services/pdf/roboto-subset-font.ts @@ -0,0 +1,18 @@ +/** + * Roboto font subset for Unicode support in PDF exports. + * + * This is a minimal subset of the Roboto font that includes: + * - Basic Latin (U+0020-007E) + * - Latin-1 Supplement (U+00A0-00FF) + * - CJK Symbols and Punctuation (U+3000-303F) + * - CJK Unified Ideographs (U+4E00-9FFF) + * - Halfwidth and Fullwidth Forms (U+FF00-FFEF) + * + * This subset is used to support non-Latin characters (e.g., Chinese, Japanese) in PDF exports. + * The font data is base64-encoded and will be added to the PDF using jsPDF's addFileToVFS and addFont methods. + * + * Original font: Roboto Regular + * License: Apache License, Version 2.0 + * Subset size: ~19 KB (25 KB base64-encoded) + */ +export const RobotoSubsetFont = 'AAEAAAANAIAAAwBQR0RFRgVBBEUAAD0cAAAAVkdQT1OZiGZgAAA9dAAAC65HU1VCNo0PmwAASSQAAAHKT1MvMnSzYyoAADqIAAAAYGNtYXAXThg/AAA66AAAANhnbHlmqBiCeAAAANwAADQCaGVhZAKlyv0AADa8AAAANmhoZWEH5gQEAAA29AAAACRobXR4iAn/oQAANSQAAAdImG1heHAAawAAADQoAAAABm5hbWV4n+qHAAA2+AAAAaJwb3N0/58AMgAAOXwAAAAgAAEAAAABAJ7D0P5/DzIxUjIAc2NjMyFgUUFjMyNjU0JiMiBgcCrJ2HjaXk2RYL/u8YIF08gH7+R1M/P0tHRDJNEgEEdJupkTfQ6YPdISyZVFVVUjw9TCweAAEAOwAAAqYDFQAGAAABFQEjASE1Aqb+oqYBXv47AxVa/UUClIEAAwBP//UCnwMgABMAGwAlAAAlFAYjIiY1NDcmNTQ2MzIWFRQHFic0IyIVFDMyFzQmIyIVFDMyNgKfqX5+q4p2m3l4nXaJsXd3eHYVTz2Kiz5N2HBzc3CEOzh1anJyanU5Ot5mZmbwNDtvbzsAAgBK//kClQMgABMAIAAAARQGIyM1MyA3BiMiJjU0NjMyFhUlFBYzMjY3NTQmIyIGApXU4Q8OAQQURWV/hJ2HjJv+UUZEMkcQUDtASAGr0eF/yUKTdXOmqpgpPFIrHTtSUVsA//8AUQKNAp4FuAIHAJUAAAKY//8ANgKYArwFrQIHAJcAAAKY//8AXAKNAqgFrQIHAJgAAAKY//8AVgKNAqwFtwIHAJkAAAKY//8AOwKYAqYFrQIHAJoAAAKY//8ATwKNAp8FuAIHAJsAAAKY//8ASgKRApUFuAIHAJwAAAKY//8AJgIfAg4CtwIGAA4AAAACACUAAATlBbAADQAbAAATMxEhIAARFRAAISERIyEhETMyEjU1NAIjIxEhJaIBnAEfAWP+m/7R/naiAn3+5snp7OzX2wEaAzECf/6P/sRX/sT+kAKZ/gQBIO9Z+wES/h8A//8AHQAABR4HNwImACIAAAAHAEEBLwE3//8AHQAABR4HNwImACIAAAAHAHIBvwE3//8AHQAABR4HNwImACIAAAAHAIkAyQE3//8AHQAABR4HIwImACIAAAAHAIsAxAE7//8AHQAABR4G/QImACIAAAAHAGcA+QE3//8AHQAABR4HkwImACIAAAAHAIoBUAFC//8AeP5DBNgFxAImACQAAAAHAHYB0//2//8AqQAABEYHQgImACYAAAAHAEEA+gFC//8AqQAABEYHQgImACYAAAAHAHIBigFC//8AqQAABEYHQgImACYAAAAHAIkAlAFC//8AqQAABEYHCAImACYAAAAHAGcAxAFC////3wAAAYAHQgImACoAAAAHAEH/pgFC//8AsQAAAlIHQgImACoAAAAHAHIANgFC////6gAAAkcHQgImACoAAAAHAIn/QAFC////1QAAAl8HCAImACoAAAAHAGf/cAFC//8AqQAABQkHIwImAC8AAAAHAIsA+gE7//8Ad//sBQoHOQImADAAAAAHAEEBUgE5//8Ad//sBQoHOQImADAAAAAHAHIB4gE5//8Ad//sBQoHOQImADAAAAAHAIkA7AE5//8Ad//sBQoHJQImADAAAAAHAIsA5wE9//8Ad//sBQoG/wImADAAAAAHAGcBHAE5//8AjP/sBKoHNwImADYAAAAHAEEBKgE3//8AjP/sBKoHNwImADYAAAAHAHIBugE3//8AjP/sBKoHNwImADYAAAAHAIkAxAE3//8AjP/sBKoG/QImADYAAAAHAGcA9AE3//8ADwAABLwHNgImADoAAAAHAHIBiQE2//8Abf/sA+oGAAImAEIAAAAHAEEA1QAA//8Abf/sA+oGAAImAEIAAAAHAHIBZQAA//8Abf/sA+oGAAImAEIAAAAGAIlvAP//AG3/7APqBewCJgBCAAAABgCLagT//wBt/+wD6gXGAiYAQgAAAAcAZwCfAAD//wBt/+wD6gZcAiYAQgAAAAcAigD2AAv//wBd/kMD7QROAiYARAAAAAcAdgFA//b//wBd/+wD8wYAAiYARgAAAAcAQQDEAAD//wBd/+wD8wYAAiYARgAAAAcAcgFUAAD//wBd/+wD8wYAAiYARgAAAAYAiV4A//8AXf/sA/MFxgImAEYAAAAHAGcAjgAA////xAAAAWUF/gImAIgAAAAGAEGL/v//AJYAAAI3Bf4CJgCIAAAABgByG/7////PAAACLAX+AiYAiAAAAAcAif8l//7///+6AAACRAXEAiYAiAAAAAcAZ/9V//7//wCNAAAD4AXsAiYATwAAAAYAi2EE//8AXP/sBDUGAAImAFAAAAAHAEEAzgAA//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'; From 5892a7313d6b650d046292fd3ba4b06a26035bf1 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 9 Dec 2025 08:53:42 +0000 Subject: [PATCH 3/5] Update Roboto font subset with proper font tables for Unicode support Co-authored-by: gedinakova <16817847+gedinakova@users.noreply.github.com> --- .../grids/core/src/services/pdf/roboto-subset-font.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/projects/igniteui-angular/grids/core/src/services/pdf/roboto-subset-font.ts b/projects/igniteui-angular/grids/core/src/services/pdf/roboto-subset-font.ts index 4c0a94323ea..f6f3019df2e 100644 --- a/projects/igniteui-angular/grids/core/src/services/pdf/roboto-subset-font.ts +++ b/projects/igniteui-angular/grids/core/src/services/pdf/roboto-subset-font.ts @@ -13,6 +13,8 @@ * * Original font: Roboto Regular * License: Apache License, Version 2.0 - * Subset size: ~19 KB (25 KB base64-encoded) + * Subset size: ~34 KB (45 KB base64-encoded) */ -export const RobotoSubsetFont = 'AAEAAAANAIAAAwBQR0RFRgVBBEUAAD0cAAAAVkdQT1OZiGZgAAA9dAAAC65HU1VCNo0PmwAASSQAAAHKT1MvMnSzYyoAADqIAAAAYGNtYXAXThg/AAA66AAAANhnbHlmqBiCeAAAANwAADQCaGVhZAKlyv0AADa8AAAANmhoZWEH5gQEAAA29AAAACRobXR4iAn/oQAANSQAAAdImG1heHAAawAAADQoAAAABm5hbWV4n+qHAAA2+AAAAaJwb3N0/58AMgAAOXwAAAAgAAEAAAABAJ7D0P5/DzIxUjIAc2NjMyFgUUFjMyNjU0JiMiBgcCrJ2HjaXk2RYL/u8YIF08gH7+R1M/P0tHRDJNEgEEdJupkTfQ6YPdISyZVFVVUjw9TCweAAEAOwAAAqYDFQAGAAABFQEjASE1Aqb+oqYBXv47AxVa/UUClIEAAwBP//UCnwMgABMAGwAlAAAlFAYjIiY1NDcmNTQ2MzIWFRQHFic0IyIVFDMyFzQmIyIVFDMyNgKfqX5+q4p2m3l4nXaJsXd3eHYVTz2Kiz5N2HBzc3CEOzh1anJyanU5Ot5mZmbwNDtvbzsAAgBK//kClQMgABMAIAAAARQGIyM1MyA3BiMiJjU0NjMyFhUlFBYzMjY3NTQmIyIGApXU4Q8OAQQURWV/hJ2HjJv+UUZEMkcQUDtASAGr0eF/yUKTdXOmqpgpPFIrHTtSUVsA//8AUQKNAp4FuAIHAJUAAAKY//8ANgKYArwFrQIHAJcAAAKY//8AXAKNAqgFrQIHAJgAAAKY//8AVgKNAqwFtwIHAJkAAAKY//8AOwKYAqYFrQIHAJoAAAKY//8ATwKNAp8FuAIHAJsAAAKY//8ASgKRApUFuAIHAJwAAAKY//8AJgIfAg4CtwIGAA4AAAACACUAAATlBbAADQAbAAATMxEhIAARFRAAISERIyEhETMyEjU1NAIjIxEhJaIBnAEfAWP+m/7R/naiAn3+5snp7OzX2wEaAzECf/6P/sRX/sT+kAKZ/gQBIO9Z+wES/h8A//8AHQAABR4HNwImACIAAAAHAEEBLwE3//8AHQAABR4HNwImACIAAAAHAHIBvwE3//8AHQAABR4HNwImACIAAAAHAIkAyQE3//8AHQAABR4HIwImACIAAAAHAIsAxAE7//8AHQAABR4G/QImACIAAAAHAGcA+QE3//8AHQAABR4HkwImACIAAAAHAIoBUAFC//8AeP5DBNgFxAImACQAAAAHAHYB0//2//8AqQAABEYHQgImACYAAAAHAEEA+gFC//8AqQAABEYHQgImACYAAAAHAHIBigFC//8AqQAABEYHQgImACYAAAAHAIkAlAFC//8AqQAABEYHCAImACYAAAAHAGcAxAFC////3wAAAYAHQgImACoAAAAHAEH/pgFC//8AsQAAAlIHQgImACoAAAAHAHIANgFC////6gAAAkcHQgImACoAAAAHAIn/QAFC////1QAAAl8HCAImACoAAAAHAGf/cAFC//8AqQAABQkHIwImAC8AAAAHAIsA+gE7//8Ad//sBQoHOQImADAAAAAHAEEBUgE5//8Ad//sBQoHOQImADAAAAAHAHIB4gE5//8Ad//sBQoHOQImADAAAAAHAIkA7AE5//8Ad//sBQoHJQImADAAAAAHAIsA5wE9//8Ad//sBQoG/wImADAAAAAHAGcBHAE5//8AjP/sBKoHNwImADYAAAAHAEEBKgE3//8AjP/sBKoHNwImADYAAAAHAHIBugE3//8AjP/sBKoHNwImADYAAAAHAIkAxAE3//8AjP/sBKoG/QImADYAAAAHAGcA9AE3//8ADwAABLwHNgImADoAAAAHAHIBiQE2//8Abf/sA+oGAAImAEIAAAAHAEEA1QAA//8Abf/sA+oGAAImAEIAAAAHAHIBZQAA//8Abf/sA+oGAAImAEIAAAAGAIlvAP//AG3/7APqBewCJgBCAAAABgCLagT//wBt/+wD6gXGAiYAQgAAAAcAZwCfAAD//wBt/+wD6gZcAiYAQgAAAAcAigD2AAv//wBd/kMD7QROAiYARAAAAAcAdgFA//b//wBd/+wD8wYAAiYARgAAAAcAQQDEAAD//wBd/+wD8wYAAiYARgAAAAcAcgFUAAD//wBd/+wD8wYAAiYARgAAAAYAiV4A//8AXf/sA/MFxgImAEYAAAAHAGcAjgAA////xAAAAWUF/gImAIgAAAAGAEGL/v//AJYAAAI3Bf4CJgCIAAAABgByG/7////PAAACLAX+AiYAiAAAAAcAif8l//7///+6AAACRAXEAiYAiAAAAAcAZ/9V//7//wCNAAAD4AXsAiYATwAAAAYAi2EE//8AXP/sBDUGAAImAFAAAAAHAEEAzgAA//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'; +export const RobotoSubsetFont = ' +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PABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAowCEAIUAvQCWAOgAhgCOAIsAnQCpAKQAigDaAIMAkwDyAPMAjQCXAIgAwwDeAPEAngCqAPUA9AD2AKIAkADwAJEA7QCJAKAA6gC4AKEA7gDXANgA3QDZAL4AvwC8AQQAwAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBEwEUARUBFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgEjASQBJQEmAScBKAEpASoBKwEsAS0BLgEvATABMQEyATMBNAE1ATYBNwE4ATkBOgE7ATwBPQE+AT8BQAFBAUIBQwFEAUUBRgFHAUgBSQFKAUsBTAFNAU4BTwFQAVEBUgFTAVQBVQFWAVcBWAFZAVoBWwFcAV0BXgFfAWABYQFiAWMBZAFlAWYBZwFoAWkBagFrAWwBbQFuAW8BcAFxAXIBcwF0AXUA6QCtAMkAxwCuAGIAYwBkAMsAZQDIAMoAzwDMAM0AzgBmANMA0ADRAK8AZwDWANQA1QBoAOsAagBpAGsAbQBsAG4AbwBxAHAAcgBzAHUAdAB2AHcAeAB6AHkAewB9AHwAfwB+AIAAgQDsALoAuwF2AXcBeAF5AXoBewF8AX0BfgF/AYABgQGCAYMBhAGFAYYBhwGIAYkBigGLAYwBjQGOAY8BkAGRAZIBkwGUAZUBlgGXAZgBmQGaAZsBnAGdAZ4BnwGgAaEBogGjAaQBpQGmAacHdW5pMDAwMgd1bmkwMDA5A2ZfZgNmX2wFZl9mX2kFZl9mX2wCc3QHdHdvLnN1cAdvbmUuc3VwCHplcm8uc3VwCW5pbmUuc21jcAplaWdodC5zbWNwCnNldmVuLnNtY3AIc2l4LnNtY3AJZml2ZS5zbWNwCWZvdXIuc21jcAp0aHJlZS5zbWNwCHR3by5zbWNwCG9uZS5zbWNwCXplcm8uc21jcAZaLnNtY3AGWS5zbWNwBlguc21jcAZXLnNtY3AGVi5zbWNwBlUuc21jcAZULnNtY3AGUy5zbWNwBlIuc21jcAZRLnNtY3AGUC5zbWNwBk8uc21jcAZOLnNtY3AGTS5zbWNwBkwuc21jcAZLLnNtY3AGSi5zbWNwBkkuc21jcAZILnNtY3AGRy5zbWNwBkYuc21jcAtkb2xsYXIuc21jcA1zdGVybGluZy5zbWNwCHllbi5zbWNwCXRocmVlLnN1cAhmb3VyLnN1cAhmaXZlLnN1cAdzaXguc3VwCXNldmVuLnN1cAllaWdodC5zdXAIbmluZS5zdXAIY3Jvc3NiYXIGRS5zbWNwBWcuYWx0BVIuYWx0BUsuYWx0BWsuYWx0BksuYWx0MgZrLmFsdDIGRC5zbWNwBkMuc21jcAZCLnNtY3AGQS5zbWNwCXplcm8uZnJhYwlmb3VyLmZyYWMJZml2ZS5mcmFjCHNpeC5mcmFjCnNldmVuLmZyYWMKZWlnaHQuZnJhYwluaW5lLmZyYWMGQy5zczA2Bkcuc3MwNgZELnNzMDYGTy5zczA2BlEuc3MwNghvbmUub251bQh0d28ub251bQp0aHJlZS5vbnVtCWZvdXIub251bQlmaXZlLm9udW0Kc2V2ZW4ub251bQluaW5lLm9udW0GTi51bmljBlUudW5pYwZBLnVuaWMGRS51bmljBk0udW5pYwp0aHJlZS50bnVtCWZpdmUudG51bQlmb3VyLnRudW0IdHdvLnRudW0Kc2V2ZW4udG51bQl6ZXJvLnRudW0Ic2l4LnRudW0JbmluZS50bnVtCmVpZ2h0LnRudW0Ib25lLnRudW0PR2VybWFuZGJscy5zbWNwCXplcm8ub251bQpzZXZlbi5wbnVtBmIuc3MwNgZjLnNzMDYGZC5zczA2Bmcuc3MwNgZvLnNzMDYGcC5zczA2BnEuc3MwNgZlLnNzMDcGZy5zczA3CG9uZS5wbnVtDmFtcGVyc2FuZC5zbWNwB0FFLnNtY3AKVGhvcm4uc21jcAtPc2xhc2guc21jcAduYnNwYWNlB3VuaTAwQUQIRXRoLnNtY3ALQWdyYXZlLnNtY3ALQWFjdXRlLnNtY3AQQWNpcmN1bWZsZXguc21jcAtBdGlsZGUuc21jcA5BZGllcmVzaXMuc21jcApBcmluZy5zbWNwDUNjZWRpbGxhLnNtY3ALRWdyYXZlLnNtY3ALRWFjdXRlLnNtY3AQRWNpcmN1bWZsZXguc21jcA5FZGllcmVzaXMuc21jcAtJZ3JhdmUuc21jcAtJYWN1dGUuc21jcBBJY2lyY3VtZmxleC5zbWNwDklkaWVyZXNpcy5zbWNwC050aWxkZS5zbWNwC09ncmF2ZS5zbWNwC09hY3V0ZS5zbWNwEE9jaXJjdW1mbGV4LnNtY3ALT3RpbGRlLnNtY3AOT2RpZXJlc2lzLnNtY3ALVWdyYXZlLnNtY3ALVWFjdXRlLnNtY3AQVWNpcmN1bWZsZXguc21jcA5VZGllcmVzaXMuc21jcAtZYWN1dGUuc21jcA5ZZGllcmVzaXMuc21jcAh0d28ucG51bQp0aHJlZS5wbnVtCWZvdXIucG51bQlmaXZlLnBudW0Ic2l4LnBudW0KZWlnaHQucG51bQluaW5lLnBudW0JemVyby5wbnVtC0FncmF2ZS51bmljC0FhY3V0ZS51bmljEEFjaXJjdW1mbGV4LnVuaWMLQXRpbGRlLnVuaWMOQWRpZXJlc2lzLnVuaWMKQXJpbmcudW5pYwtFZ3JhdmUudW5pYwtFYWN1dGUudW5pYxBFY2lyY3VtZmxleC51bmljDkVkaWVyZXNpcy51bmljC050aWxkZS51bmljC1VncmF2ZS51bmljC1VhY3V0ZS51bmljDlVkaWVyZXNpcy51bmljAAEAAgAOAAAAAAAAAHIAAgAQACUAPgABAEUAXgABAHkAeQABAIEAgQABAIMAgwABAIYAhgABAIkAiQABAJIAlwACAKUAuQABAMUAxQABAMcAxwABAMkAyQABAMwAzwABAOMA5wABAQUBVwABAWABbQABAAEAAQAAAAgAAQABAHkAAQAAAAoAMgBMAARERkxUABpjeXJsABpncmVrABpsYXRuABoABAAAAAD//wACAAAAAQACY3BzcAAOa2VybgAUAAAAAQAAAAAAAQABAAIABgBYAAEAAAABAAgAAQAKAAUAJABIAAIACgAIAAgAAAAKAAoAAQAUAB0AAgAlAD4ADABlAGUAJgBnAGcAJwCBAIEAKACDAIQAKQEFAR8AKwE7ATsARgACAAAAAgAKBPwAAQCgAAQAAABLAToBQAFAAUYBXARaBHAEjAR+AWICMAJCBIwCWAJiApgCrgLcAvoDGASYAyYDOANSA5ADugPIBJID4gSSA+wEBgQMBCYE7AR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+ABEARQBFAAYARgBGAAcARwBHABYASQBJAAgATABMAAQAUQBSAAQAUwBTAAMAVABUAAcAVgBWABUAWgBaAAkAXABcABQAXQBdAAkAXgBeABAAigCKAAcAqwCrAB8AsACwAA4AswCzACAAtAC0ABwAzADMAA4AzwDPAA8A1wDXABMA2QDaAAEBBQEFAAEBBgELAAIBDAEMABMBDQEQAAUBFgEaAAEBGwEeAAoBHwEfAAwBIAElAAYBJgEmABYBJwEqAAgBLwEvAAQBMAE0AAMBOQE6AAkBOwE7AAwBPAE8AA4BPQFCAA8BTQFRAA4AAgBBAAYABgAVAAsACwAVABAAEAAZABEAEQAcABIAEgAZACUAJQAGACcAJwACACsAKwACAC4ALgAeADMAMwACADUANQACADcANwAQADgAOAALADkAOQAKADoAOgAbADsAOwAXADwAPAASAD0APQAMAD4APgARAEUARQAHAEcASQABAEsASwABAFEAUgADAFMAUwAEAFQAVAADAFUAVQABAFcAVwAOAFkAWQAFAFoAWgAJAFwAXAAUAF0AXQAJAF4AXgAPAIMAgwACAJcAlwAOAKYApgAWAKcApwAaAKgAqAAfAKoAqgATAKsAqwAYAKwArAAdAK4ArgAIALAAsAAIALgAuAAIAM0AzQAIAM8AzwANANcA2AACANoA2wACAQQBBAAcAQYBCwAGAQwBDAACARYBGgACARsBHgAKAR8BHwAMASABJQAHASYBKgABAS8BLwADATABNAAEATUBOAAFATkBOgAJATsBOwAMAT0BQgANAUMBQwAIAU0BUQAIAVIBVQATAVYBVwAWAAAAAQAAAAoBBAIOAARERkxUABpjeXJsABpncmVrABpsYXRuAEgABAAAAAD//wASAAAAAQACAAMABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUAC4AB0FaRSAAhkNSVCAAhkZSQSAAWk1PTCAAWk5BViAAWlJPTSAAWlRSSyAAhgAA//8AEwAAAAEAAgADAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUAAD//wATAAAAAQACAAMABQAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAAP//ABMAAAABAAIAAwAEAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVYzJzYwCAZGxpZwCGZG5vbQCMZnJhYwCSbGlnYQCcbGlnYQCibGlnYQCubG51bQC2bnVtcgC8b251bQDCcG51bQDIc2FsdADOc21jcADUc3MwMQDac3MwMwDgc3MwNADmc3MwNQDsc3MwNgDyc3MwNwD4dG51bQD+dW5pYwEEAAAAAQAAAAAAAQAFAAAAAQATAAAAAwARABIAFAAAAAEABAAAAAQAAwAEAAMABAAAAAIAAwAEAAAAAQAQAAAAAQAUAAAAAQANAAAAAQAOAAAAAQAGAAAAAQABAAAAAQAHAAAAAQAIAAAAAQAJAAAAAQAKAAAAAQALAAAAAQAMAAAAAQAPAAAAAQACABUALAEIAa4CpgLKAvQDIgM8A1ADZAN2A5AD0gPwBEIEiATmBT4FUgWCBaQAAQAAAAEACAACAJQARwC6AP8ApACjAKIAoQCgAJ8AngCdAJwAmwDPAM4AzQDMAMUAuQC4ALcAtgC1ALQAswCyALEAsACvAK4ArQCsAKsAqgCpAKgApwCmAKUAuwC8AQABAgEBATwBPQE+AT8BQAFBAUIBQwFEAUUBRgFHAUgBSQFKAUsBTAFNAU4BTwFQAVEBUgFTAVQBVQFWAVcAAgAKAAgACAAAAAoACgABABQAHQACACUAPgAMAGUAZQAmAGcAZwAnAIEAgQAoAIMAhAApAQUBHwArATsBOwBGAAEAAAABAAgAAgB8ADsA/wDPAM4AzQDMAMUAuQC4ALcAtgC1ALQAswCyALEAsACvAK4ArQCsAKsAqgCpAKgApwCmAKUA8gEAATwBAgEBAT0BPgE/AUABQQFCAUMBRAFFAUYBRwFIAUkBSgFLAUwBTQFOAU8BUAFRAVIBUwFUAVUBVgFXAAIABQAKAAoAAABFAF4AAQCFAIcAGwCJAIoAHgEgAToAIAABAAAAAQAIAAIAngBMAOUA5gDnAOMA5ADlACYAJwAoAOYAKgArACwALQAuAC8AMADnAOMAMwA0ADUANgA3ADgA5AA6ADsAPAA9AD4AgQEFAIMAhAFgAWEBYgFjAWQBZQFmAWcBaAFpAWoBawFsAW0BYAFhAWIBYwFkAWUBDAFmAWcBaAFpAREBEgETARQBagEWARcBGAEZARoBawFsAR0BbQEfATsAAgANACUAJQAAACkAKQABADEAMgACADkAOQAEAEUAXgAFAIYAhwAfAIkAigAhAQYBCwAjAQ0BEAApARUBFQAtARsBHAAuAR4BHgAwASABOgAxAAQAAAABAAgAAQBAAAEACAACAAYADgCVAAMASgBNAJMAAgBNAAQAAAABAAgAAQAcAAEACAACAAYADgCWAAMASgBQAJQAAgBQAAEAAQBKAAQAAAABAAgAAQAeAAIACgAUAAEABACSAAIASgABAAQAlwACAFgAAQACAEoAVwABAAAAAQAIAAIACgACAMgAxgABAAIALwBLAAEAAAABAAgAAQAGAHsAAQABAEsAAQAAAAEACAABAAYAkQABAAEANgABAAAAAQAIAAIAHAACAMgAyQABAAAAAQAIAAIACgACAMoAywABAAIALwBPAAEAAAABAAgAAgAeAAwA1wDZANgA2gDbAPUA9gD3APgA+QD6APsAAQAMACcAKAArADMANQBGAEcASABLAFMAVABVAAEAAAABAAgAAgAMAAMA/AD9AP0AAQADAEkASwD4AAEAAAABAAgAAgAuABQA7QDxAOsA6ADqAOkA7gDsAPAA7wDhANwA3QDeAN8A4AAaABwA4gDzAAIABAAUAB0AAAD0APQACgD+AP4ACwFYAV8ADAABAAAAAQAIAAIALgAUAV8A/gFYAVkBWgFbAVwA9AFdAV4A3gDgAN8A3QDhAPMAGgDiABwA3AACAAIAFAAdAAAA6ADxAAoAAQAAAAEACAACAC4AFADuAPAA8QDrAOgA6gDpAOwA7wDtABsAFQAWABcAGAAZABoAHAAdABQAAgAGABoAGgAAABwAHAABANwA4gACAPMA9AAJAP4A/gALAVgBXwAMAAEAAAABAAgAAgAuABQBXAFdAP4BWAFZAVoBWwD0AV4AFwAZABgAFgAbABQAGgAdABwAFQFfAAIABQAaABoAAAAcABwAAQDcAOIAAgDoAPEACQDzAPMAEwABAAAAAQAIAAEABgB+AAEAAQATAAYAAAABAAgAAwABABIAAQBsAAAAAQAAABMAAgADAJEAkQAAAJgAmgABAL0AwwAEAAEAAAABAAgAAgA8AAoAmgCZAJgAvQC+AL8AwADBAMIAwwABAAAAAQAIAAIAGgAKANAAegBzAHQA0QDSANMA1ADVANYAAgABABQAHQAAAAA='; + From 2ffe6c90db9720a16894053b656c7bccf04911ae Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 9 Dec 2025 08:57:55 +0000 Subject: [PATCH 4/5] Add demonstration of Unicode PDF export functionality Co-authored-by: gedinakova <16817847+gedinakova@users.noreply.github.com> --- demo-unicode-pdf.js | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 demo-unicode-pdf.js diff --git a/demo-unicode-pdf.js b/demo-unicode-pdf.js new file mode 100644 index 00000000000..5c4aeb900b6 --- /dev/null +++ b/demo-unicode-pdf.js @@ -0,0 +1,40 @@ +const { jsPDF } = require('jspdf'); +const fs = require('fs'); + +// Load the font from the project +const fontContent = fs.readFileSync('./projects/igniteui-angular/grids/core/src/services/pdf/roboto-subset-font.ts', 'utf8'); +const fontMatch = fontContent.match(/export const RobotoSubsetFont = '([^']+)'/); +const RobotoSubsetFont = fontMatch[1]; + +console.log('📝 Creating PDF with Unicode characters...\n'); + +const pdf = new jsPDF(); +pdf.addFileToVFS('Roboto-Subset.ttf', RobotoSubsetFont); +pdf.addFont('Roboto-Subset.ttf', 'Roboto', 'normal'); +pdf.setFont('Roboto', 'normal'); +pdf.setFontSize(12); + +pdf.setFont('Roboto', 'bold'); +pdf.text('Grid Export with Unicode Headers', 20, 20); + +pdf.setFont('Roboto', 'normal'); +pdf.setFontSize(10); + +const y = 40; +pdf.text('会社名 (Company Name)', 20, y); +pdf.text('中文 (Chinese)', 120, y); +pdf.text('日本語 (Japanese)', 200, y); + +pdf.text('テスト株式会社', 20, y + 10); +pdf.text('测试公司', 120, y + 10); +pdf.text('サンプル', 200, y + 10); + +const pdfData = pdf.output('arraybuffer'); +fs.writeFileSync('/tmp/demo-unicode-output.pdf', Buffer.from(pdfData)); + +console.log('✅ PDF created successfully!'); +console.log(' Path: /tmp/demo-unicode-output.pdf'); +console.log(' Size:', (pdfData.byteLength / 1024).toFixed(2), 'KB'); +console.log('\n✅ Unicode characters are properly supported!'); +console.log(' - Chinese: 会社名, 中文, 测试公司'); +console.log(' - Japanese: 日本語, テスト株式会社, サンプル'); From e2b2d0928741ec542687de16792eb003591c0c7b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 9 Dec 2025 08:58:08 +0000 Subject: [PATCH 5/5] Remove demo file --- demo-unicode-pdf.js | 40 ---------------------------------------- 1 file changed, 40 deletions(-) delete mode 100644 demo-unicode-pdf.js diff --git a/demo-unicode-pdf.js b/demo-unicode-pdf.js deleted file mode 100644 index 5c4aeb900b6..00000000000 --- a/demo-unicode-pdf.js +++ /dev/null @@ -1,40 +0,0 @@ -const { jsPDF } = require('jspdf'); -const fs = require('fs'); - -// Load the font from the project -const fontContent = fs.readFileSync('./projects/igniteui-angular/grids/core/src/services/pdf/roboto-subset-font.ts', 'utf8'); -const fontMatch = fontContent.match(/export const RobotoSubsetFont = '([^']+)'/); -const RobotoSubsetFont = fontMatch[1]; - -console.log('📝 Creating PDF with Unicode characters...\n'); - -const pdf = new jsPDF(); -pdf.addFileToVFS('Roboto-Subset.ttf', RobotoSubsetFont); -pdf.addFont('Roboto-Subset.ttf', 'Roboto', 'normal'); -pdf.setFont('Roboto', 'normal'); -pdf.setFontSize(12); - -pdf.setFont('Roboto', 'bold'); -pdf.text('Grid Export with Unicode Headers', 20, 20); - -pdf.setFont('Roboto', 'normal'); -pdf.setFontSize(10); - -const y = 40; -pdf.text('会社名 (Company Name)', 20, y); -pdf.text('中文 (Chinese)', 120, y); -pdf.text('日本語 (Japanese)', 200, y); - -pdf.text('テスト株式会社', 20, y + 10); -pdf.text('测试公司', 120, y + 10); -pdf.text('サンプル', 200, y + 10); - -const pdfData = pdf.output('arraybuffer'); -fs.writeFileSync('/tmp/demo-unicode-output.pdf', Buffer.from(pdfData)); - -console.log('✅ PDF created successfully!'); -console.log(' Path: /tmp/demo-unicode-output.pdf'); -console.log(' Size:', (pdfData.byteLength / 1024).toFixed(2), 'KB'); -console.log('\n✅ Unicode characters are properly supported!'); -console.log(' - Chinese: 会社名, 中文, 测试公司'); -console.log(' - Japanese: 日本語, テスト株式会社, サンプル');