anchor.diff:        ((i=1) or not IsCharWord(AStr[i-1], cDefaultNonWordChars)) //word boundary
       then
       begin
  -      NColor:= SHtmlColor_ParseString_RGB(AStr, i, NLen);
  +      NColor:= TATHtmlColorParser.ParseFunctionRGB(AStr, i, NLen);
         if NColor<>clNone then
           begin
             if i-2>=0 then
  
positive.code: procedure TEditorFrame.EditorOnDrawLine(Sender: TObject; C: TCanvas; AX,
    AY: integer; const AStr: atString; ACharSize: TPoint;
    const AExtent: TATIntArray);
  const
    cRegexHSL = 'hsla?\(\s*(\d{1,3})\s*,\s*(\d{1,3})%\s*,\s*(\d{1,3})%\s*(,\s*[\.\d%]+\s*)?\)';
  var
    NLineWidth: integer;
    bColorizeBack: boolean;
    X1, X2, Y, NLen: integer;
    NColor: TColor;
    Parts: TRegexParts;
    Ch: atChar;
    ValueR, ValueG, ValueB: byte;
    ValueH, ValueS, ValueL: word;
    Substr: string;
    i: integer;
  begin
  
negative.code:       ((i=1) or not IsCharWord(AStr[i-1], cDefaultNonWordChars)) //word boundary
        then
        begin
          NColor:= TATHtmlColorParser.ParseFunctionHSL(AStr, i, NLen);
          if NColor<>clNone then
            begin
              if i-2>=0 then
                X1:= AX+AExtent[i-2]
              else
  