If a juce::Path is purely horizontal or vertical, the Direct2D renderer skips it completely. Such paths render correctly on macOS or when using the Software Renderer.
This happens because of this check in Direct2DGraphicsContext::strokePath():1438
if(p.getBounds().isEmpty())
return;
The bounds of a horizontal/vertical path have height/width zero and therefore getBounds().isEmpty() becomes true.
This could be fixed in multiple ways. I went for
if (auto b = p.getBounds(); b.getWidth() == 0.f && b.getHeight() == 0.f)
return;
but it could also be if (p.isEmpty()) return;
It depends on the question whether a path that is just a point should still be drawn if a PathStrokeType is used that would convert that into something.
My report was about strokePath() and it was already fixed on develop.
For fillPath(), p.getBounds().isEmpty() would be enough as filling a path with height or width 0 should do nothing - unlike strokePath which adds volume to paths.