Q:

Plots using TextAlignment with SwatchLegend to left align multi-line items

I have Legends that stretch over multi-lines and the only way I can get them left aligned is by adding white space to the end of the legend item. Does anyone know if there is a way to use TextAlignment with SwatchLegend?
gJ = Plot[Sin[x], {x, 1, 12}, 
  PlotLegends -> {Placed[
     SwatchLegend[{RGBColor[1, 0.5, 0], RGBColor[0., 0.329412, 0.], 
       RGBColor[0.619608, 0.25098, 1.], 
       RGBColor[0, 1, 1]}, {"it ends up centred", "but ", 
       "fox jumped over two lines that I want to \nalign to the left",
        "A quick brown"}, 
      LegendMarkers -> {Graphics[{EdgeForm[], Rectangle[]}], 
        Graphics[{EdgeForm[], Rectangle[]}], 
        Graphics[{EdgeForm[], Rectangle[]}], 
        Graphics[{EdgeForm[], Rectangle[]}], 
        Graphics[{EdgeForm[], Rectangle[]}]}, 
      LegendLayout -> "ReversedColumn", LegendMarkerSize -> 16, 
      LabelStyle -> {FontFamily -> "Arial", 18}, 
      Spacings -> {0.5, 0.25}], {0.4167, 0.7701}]}]

A:

The fastest way is to use TextCell only there you can have full control over the text:
lbl = TextCell["fox jumped over two lines that I want to\nalign to the left", 
         TextAlignment -> Left];

So:
Plot[Sin[x], {x, 1, 12}, ImageSize -> 500, Frame -> True, Axes -> False,
             PlotLegends -> {Placed[SwatchLegend[{Red}, {lbl}, 
                                     LabelStyle -> {FontFamily -> "Arial", 18},
                                     LegendMarkerSize -> 16], 
                             {0.4167, 0.7701}]}]

Related usage of TextJustification on StarWars theme: 47273

A:

Adapting an example in the docs you could do it this way:
table[pairs_] := Grid[pairs, BaseStyle -> {TextAlignment -> Left}, Alignment -> 
{Left, Automatic}]

Then use LegendLayout -> table, to give you:

Edit
To reverse it just use Reverse:
reversetable[pairs_] := Grid[Reverse@pairs, BaseStyle -> {TextAlignment -> Left},    
Alignment -> {Left, Automatic}]

LegendLayout -> reversetabletable,

