From 042ddcfe20cd3e3ec113eaee76a0c80f5282ac31 Mon Sep 17 00:00:00 2001 From: Martin Date: Fri, 2 Dec 2022 00:56:26 +0100 Subject: [PATCH] Fix UnicodeSpacesToASCII, After "Replace()" p is already replaced. Old code could skip codepoints or iterate past end of string. Don't replace regular space #20 with itself (nop). --- components/codetools/basiccodetools.pas | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/codetools/basiccodetools.pas b/components/codetools/basiccodetools.pas index cf1064052b..761fb3c689 100644 --- a/components/codetools/basiccodetools.pas +++ b/components/codetools/basiccodetools.pas @@ -5455,7 +5455,7 @@ begin $2060, // zero width word joiner $FEFF // zero width no-break space : Replace(CodepointLen,''); - $0020, // space +// $0020, // space $00A0, // non breakable space $2000, // en quad, half wide space $2002, // en space, half wide space @@ -5472,8 +5472,8 @@ begin $2001, // em quad, wide space $2003 // em space, wide space : Replace(CodepointLen,' '); + else inc(p,CodepointLen); end; - inc(p,CodepointLen); end; end; until false;