First of all: In general it is not recommend to freely adjust the font size. Also you of course need a scalable font, otherwise the next fitting one will be chosen.
The used 1.2*#1pt doesn't work in general. You can use 1.2\somedimension to get the multiplication.
\newlength{\mylength}
\makeatletter
\newcommand{\mycfs}[1]{%
\setlength{\mylength}{#1pt}%
\setlength{\mylength}{1.2\mylength}%
\fontsize{#1}{\mylength}%
\selectfont
}
\makeatother
However, some but not all font size macros (\normalsize, \small and \footnotesize) also change other settings like \abovedisplayskip, \belowdisplayskip, \abovedisplayshortskip and \belowdisplayshortskip.
To get consistent behavior to would be better to switch to a know font size before you change to yours, e.g. add \normalsize at the front of your macro code. You could also adjust the above parameters by yourself, if you know how to do it; correctly I mean.
All font size macros also store themselves into \@currsize , e.g. \small includes \let\@currsize\small, but only if \ifx \protect \@typeset@protect. This is done by calling \@setfontsize which isn't usable in your case. However, this could be added manually:
\newlength{\mylength}
\makeatletter
\newcommand{\mycfs}[1]{%
\normalsize
\ifx\protect\@typeset@protect
\def\@currsize{\mycfs{#1}}%
\fi
\setlength{\mylength}{#1pt}%
\setlength{\mylength}{1.2\mylength}%
\fontsize{#1}{\mylength}%
\selectfont
}
\makeatother
You can further improve this by allowing the input to be a number in pt or any lengths using LaTeX's \@defaultunits (as it is done by \fontsize itself):
\newlength{\mylength}
\makeatletter
\newcommand{\mycfs}[1]{%
\normalsize
\@defaultunits\mylength=#1pt\relax\@nnil
\edef\@tempa{{\strip@pt\mylength}}%
\ifx\protect\@typeset@protect
\edef\@currsize{\noexpand\mycfs\@tempa}% store calculated size
\fi
\mylength=1.2\mylength
\edef\@tempa{\@tempa{\strip@pt\mylength}}%
\@tempa
\expandafter\fontsize\@tempa
\selectfont
}
\makeatother
\@currsize. Most likely so they can be restored. This is not the case in your code or the one is the answers. However, I can't tell you if and what impact this has. – Martin Scharrer♦ Jul 3 '11 at 8:52