回答
before も until も時の流れの中のある1点以前のことを言うためのことばですが、
その1点に対する向きが違います。
before
例えば before today ということであれば、
未来ーー today →→ before →→過去
というふうに、today から過去の方向に向かう時の範囲を表します。
until
例えば until today ということであれば、
未来ーー today ←← until←←過去
というふうに、過去から today の方向に向かう時の範囲を表します。
完了形とは、時の流れの中のある1点から1点にかけて、と時制です。
このことと、before / until の矢印の方向を組み合わせると、完了形で before と until をどう使うかがわかります。
<現在完了+ before >
I have never heard of the story before.
現在完了形なので、過去から今にかけての時の間で、その story を聞いたことがない、と言っていますが、before と言っているので、今から過去に向かって振り返ってその経験がない、と言っています。
未来ーー 今 →→ before →→過去
<現在完了 + until >
I have never heard of the story until now.
同じく現在完了形で、過去から今にかけての時の間で、その story を聞いたことがない、と言っていますが、until と言っているので、過去から今に向かって振り返ってその経験がない、と言っています。
未来ーー 今 ←← until ←←過去
<過去完了+ before >
I had never heard of the story before.
過去完了形なので、大過去から過去にかけての時の間で、その story を聞いたことがなかった、と言っていますが、before と言っているので、過去から大過去まで遡ってその経験がなかった、と言っています。
未来ーー 今 ーー 過去 →→ until →→ 大過去
before を過去完了形で使うと、いましゃべっているこの瞬間から見て過去の時点においても、その story を聞いたことがなく知らない、と言っているニュアンスになります。
<過去完了 + until >
I had never heard of the story until now.
過去完了形なので、大過去から過去にかけての時の間で、その story を聞いたことがなかった、と言っていますが、until と言っているので、大過去から過去までその経験がなかった、と言っています。
未来ーー 今 ←← 過去 (storyを知った瞬間) ←← until ←← 大過去
until を過去完了形で使うと、いましゃべっているこの瞬間とすぐ前にその story を聞いた瞬間が過去としてあって、間接的に今の時点ではすでにその story を聞いて知っている、と言っているニュアンスになります。