From 61ae361d37eb8468a06a2a57044fb5909203fe94 Mon Sep 17 00:00:00 2001 From: wp_xxyyzz Date: Sun, 10 Aug 2014 20:51:41 +0000 Subject: [PATCH] fpspreadsheet: Fix font identification issue of OOXML reader for files written by fpspreadsheet. git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3467 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- components/fpspreadsheet/xlsxooxml.pas | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/components/fpspreadsheet/xlsxooxml.pas b/components/fpspreadsheet/xlsxooxml.pas index 19835d598..27b6b5e39 100755 --- a/components/fpspreadsheet/xlsxooxml.pas +++ b/components/fpspreadsheet/xlsxooxml.pas @@ -978,6 +978,7 @@ var fntColor: TsColor; nodename: String; s: String; + isNilFont: Boolean; begin fnt := Workbook.GetDefaultFont; if fnt <> nil then begin @@ -993,6 +994,7 @@ begin end; node := ANode.FirstChild; + isNilFont := node = nil; while node <> nil do begin nodename := node.NodeName; if nodename = 'name' then begin @@ -1032,7 +1034,8 @@ begin { We must not check for duplicate fonts here because then we cannot reconstruct the correct font id later } - FWorkbook.AddFont(fntName, fntSize, fntStyles, fntColor); + if not isNilFont then // the font #4 (nil) is added automatically --> skip it here + FWorkbook.AddFont(fntName, fntSize, fntStyles, fntColor); end; procedure TsSpreadOOXMLReader.ReadFonts(ANode: TDOMNode);