[Tex/LaTex] Tikz : node filling with text

horizontal alignmenttikz-pgf

Here is a minimal working example

%!TEX TS-program = xelatex
\documentclass{article}

%%%%%%%%%%
% Colors %
%%%%%%%%%%
\usepackage{xcolor}
\definecolor{green}{HTML}{C2E15F}
\definecolor{gray}{HTML}{4D4D4D}

%%%%%%%%%
% Fonts %
%%%%%%%%%
\usepackage{fontspec}
\defaultfontfeatures{Mapping=tex-text}
\setmainfont[Mapping=tex-text, Color=gray]{Helvetica Neue Light}

%%%%%%%%%%%%%%%%%
% Graphic tools %
%%%%%%%%%%%%%%%%%
\usepackage{tikz}
\usetikzlibrary{positioning}

\begin{document}


%%%%%%%%%%
% Header %
%%%%%%%%%%
 \begin{tikzpicture} [remember picture,overlay]
   \node[](name)[align = left, inner sep = 0] {\fontsize{42pt}{0pt}\selectfont{My Name} \\
   \fontsize{20}{5pt}\selectfont{My function}};
   \draw (name.north west) -- +(20cm, 0);
   \draw (name.south west) -- +(20cm, 0);
   \node[](about)[align=left,inner sep=0, right=5.0cm of name.north east, anchor=north west]{%
   \fontsize{12pt}{12pt}\selectfont{mymail@mail.com} \\
   \fontsize{12pt}{12pt}\selectfont{+45 555 555} \\%
   \fontsize{12pt}{12pt}\selectfont{my adress} \\   
   \fontsize{12pt}{12pt}\selectfont{zipcode City} \\
   };
 \end{tikzpicture}

\end{document}

gives the following result

latex1

I would like the text in the rightmost node to "fill" the node i.e. to be perfectly aligned on the two lines I draw on the picture. Is it possible? Maybe using a minipage?
In the same idea, is it possible to force the text to fill the node horizontally so that the text is justified both right and left ?

EDIT: it seems the justified text can be obtained playing with the node options text width, minimum width and justified text. However, those options do not seem to work as soon as a "." characted is entered in the character screen as illustrated by the two following pictures.

justifiedtext1

justifiedtext2

The related codes adaptations are the following ones.

 \begin{tikzpicture} [remember picture,overlay]
   \node[](name)[align = left, inner sep = 0] {\fontsize{42pt}{0pt}\selectfont{My Name} \\
   \fontsize{20}{5pt}\selectfont{My function}};
   \draw (name.north west) -- +(20cm, 0);
   \draw (name.south west) -- +(20cm, 0);
   \node[](about)[draw=black, thin, align=left,inner sep=0, right=5.0cm of name.north east, anchor=north west, text width=4cm, minimum width=4cm, text justified]{%
   \fontsize{12pt}{12pt}\selectfont{mymail@mailcom} 
   \fontsize{12pt}{12pt}\selectfont{+45 555 555} 
   \fontsize{12pt}{12pt}\selectfont{my adress}   
   \fontsize{12pt}{12pt}\selectfont{zipcode City} 
   };
 \end{tikzpicture}


 \begin{tikzpicture} [remember picture,overlay]
   \node[](name)[align = left, inner sep = 0] {\fontsize{42pt}{0pt}\selectfont{My Name} \\
   \fontsize{20}{5pt}\selectfont{My function}};
   \draw (name.north west) -- +(20cm, 0);
   \draw (name.south west) -- +(20cm, 0);
   \node[](about)[draw=black, thin, align=left,inner sep=0, right=5.0cm of name.north east, anchor=north west, text width=4cm, minimum width=4cm, text justified]{%
   \fontsize{12pt}{12pt}\selectfont{mymail@mail.com} 
   \fontsize{12pt}{12pt}\selectfont{+45 555 555} 
   \fontsize{12pt}{12pt}\selectfont{my adress}   
   \fontsize{12pt}{12pt}\selectfont{zipcode City} 
   };
 \end{tikzpicture}

Best Answer

The vertical filling you can do when you measure height with the help of \pgfgetlastxy:

Code

\documentclass[parskip]{scrartcl}
\usepackage[margin=15mm]{geometry}
\usepackage{tikz}
\usetikzlibrary{positioning}
\usepackage[scaled]{helvet}
\renewcommand*\familydefault{\sfdefault} %% Only if the base font of the document is to be sans serif
\usepackage[T1]{fontenc}

\newcommand{\computeheight}[2]% name of node, name of targetmacro
{ \path (#1.south west);
  \pgfgetlastxy{\xsw}{\ysw}
  \path (#1.north east);
  \pgfgetlastxy{\xne}{\yne}
  %\pgfmathsetlengthmacro{\nodewidth}{\xne-\xsw}% not needed here
  \pgfmathsetlengthmacro{\nodeheight}{\yne-\ysw}
  %\xdef\widthofnode{\nodewidth}
  \expandafter\xdef\csname #2\endcsname{\nodeheight}
}

\begin{document}

\begin{tikzpicture} [remember picture,overlay]
  \node[right](name)[align = left, inner sep = 2pt] {\fontsize{42pt}{0pt}\selectfont{My Name} \\
  \fontsize{20}{5pt}\selectfont{My function}};

    % get height of node "name"
  \computeheight{name}{nameheight}

  \draw (name.north west) -- +(18cm, 0);
  \draw (name.south west) -- +(18cm, 0);

    % helper coordinate
    \coordinate[right=5.0cm of name.north east, anchor=north west] (about);
    % the data you want to use; the {} is for protecting commas in the entries,
    % so it's not neccessary here
    \foreach \t [count=\c] in {{mymail@mail.com},{+45 555 555},{my adress},{zipcode City}}
    {   \pgfmathsetlengthmacro{\topdistance}{(\c-1)*\nameheight/4+\nameheight/4*0.5}
        \node[below=\topdistance of about,align=left,anchor=west] (about\c) {\fontsize{12pt}{12pt}\selectfont{\t}};
    }
\end{tikzpicture}

\end{document}

Output

enter image description here