برای اجرای کد، میبایست فونت DSEG14Classic-Regular.ttf
را از اینجا دانلود کنید و در کنار فایل tex
قرار دهید.
موقع اجرا کافیه در preamble
، در جاهای مشخصشده، ساعت دلخواه خود را تنظیم کنید.
\documentclass[12pt,border=5mm]{standalone}
\usepackage{fontspec}
\usepackage{tikz}
\usetikzlibrary{shadows}
%
\usepackage{xepersian}
\settextfont{Yas}
\setmathdigitfont[Scale=0.9]{Yas}
%
\newfontfamily{\dseg}[Path=./]{DSEG14Classic-Regular.ttf}
\colorlet{on}{red}
\colorlet{off}{red!5}
%
\def\display#1{\setbox0=\hbox{\textcolor{on}{\dseg#1}}%
\hbox to\wd0{\textcolor{off}{\dseg\leaders\hbox{8}\hfill\null}}%
\kern-\wd0\box0}
% ساعت را اینجا تنظیم کنید:
% 00,1,2,3,...,24
\pgfmathsetmacro{\h}{21}
% دقیقه را اینجا تنظیم کنید:
% 00,1,2,3,...,60
\pgfmathsetmacro{\min}{30}
% ثانیه را اینجا تنظیم کنید:
% 00,1,2,3,...,60
\pgfmathsetmacro{\second}{10}
\begin{document}
\centering
\begin{tikzpicture}
\newcounter{mynum}
\newcommand{\num}{\stepcounter{mynum}\themynum}
% تبدیل ساعت به درجه:
\pgfmathsetmacro{\H}{-\h/12*360+90-\min*0.5-\second*1/120}
% تبدیل دقیقه و ثانیه به درجه:
\pgfmathsetmacro{\Min}{-\min/60*360+90-\second*0.1}
\pgfmathsetmacro{\Sec}{-\second/60*360+90}
%
\foreach \x in {0,6,...,359}
\draw[red, thin] (\x:1) -- (\x:0.95);
\foreach \x in {60,30,...,-270}
\draw[green!70!black, semithick] (\x:1) -- (\x:0.9) +(\x:-0.11) node [black, font=\tiny] {$ \num $};
%
\draw[blue, thick] (0,0) circle [radius=1];
\fill (0,0) circle [radius=1.5pt];
%
% عقربۀ ساعتشمار:
\draw[thick] (0,0) -- (\H:0.5);
% عقربۀ دقیقهشمار:
\draw[thin] (0,0) -- (\Min:0.65);
% عقربۀ ثانیهشمار:
\draw[very thin, red] (\Sec:-0.2) -- (\Sec:0.75);
\fill[red] (0,0) circle [radius=0.75pt];
%
\begin{scope}[yshift=-1.5cm,
rec/.style={rectangle,
fill=red!10,
draw=blue,
ultra thick,
drop shadow,
rounded corners,
minimum width=2.5cm}]
% نمایش ساعت:
\node[rec] {\display{\h:}%
% نمایش دقیقه:
\display{\min:}%
% نمایش ثانیه:
\display{\second}};
\end{scope}
\end{tikzpicture}
\end{document}