@Z22 - your c1 and c5 were
c1 = texture2D(texture0, vec2(vTexCoord.x - ( ( 1.1)*blurSize), vTexCoord.y - ( ( 1.1)*blurSize) ) );
c5 = texture2D(texture0, vec2(vTexCoord.x + ( (-1.1)*blurSize), vTexCoord.y + ( (-1.1)*blurSize) ) );
so you had factors of -(1.1) and -(1.1) for c1 and +(-1.1) and +(-1.1) for c5, i.e. all four factors were -1.1.
The actual grid you used, after correcting, was
.....X...X.....
...............
X.............X
.......X.......
X.............X
...............
.....X...X.....
In which each of the eight peripheral points are equaly distant from the central point.
This differs from the grid that you mentioned in your last post, i.e.
X......X......X
...............
...............
X......X......X
...............
...............
X......X......X
both in orientation and because the peripheral points are at two different distances from the center so it is not as symetric as the other version.
In practice it makes little difference for the sort of things we are doing.