Dakujem pekne za skript.<br>Ako vidim, budem musiet precitat viac o makrach.<br><br>Peter Knezel<br><br><div class="gmail_quote">2010/1/20 Jan Sustek <span dir="ltr"><<a href="mailto:Jan.Sustek@seznam.cz">Jan.Sustek@seznam.cz</a>></span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Posilam ta makra. Pekny den. JS<br>
<br>
----------------------<br>
\let\ea\expandafter<br>
% po provedeni bude v makrech \desitkove a \dvojkove zapsany seznam ascii znaku v desitkove a dvojkove soustave<br>
\def\textnaascii#1{\def\desitkove{}%<br>
  \def\dvojkove{}%<br>
  \poznacich#1\xxx}<br>
<br>
\newcount\asciicount<br>
% zpracuje jeden znak a prida ho k seznamum \desitkove a \dvojkove<br>
\def\poznacich#1{\ifx#1\xxx\else<br>
    \chardef\x=`#1<br>
    \expandafter\pzA\meaning\x<br>
    \ea\ea\ea\def\ea\ea\ea\dvojkove\ea\ea\ea{\ea\dvojkove\pzB\space}<br>
    % neni pouzito \edef, aby se neexpandovala makra \0, \1<br>
    \asciicount=\x<br>
    \edef\desitkove{\desitkove\space\the\asciicount}%<br>
    \ea\poznacich\fi}<br>
\def\pzA#1"#2#3{\ea\def\ea\pzB\ea{\csname hexa:#2\ea\endcsname\csname hexa:#3\endcsname}}<br>
<br>
% definice maker na prevod z sestnactkove do dvojkove soustavy<br>
\def\hexadef#1{\ea\def\csname hexa:#1\endcsname}<br>
\hexadef{0}{\0\0\0\0}<br>
\hexadef{1}{\0\0\0\1}<br>
\hexadef{2}{\0\0\1\0}<br>
\hexadef{3}{\0\0\1\1}<br>
\hexadef{4}{\0\1\0\0}<br>
\hexadef{5}{\0\1\0\1}<br>
\hexadef{6}{\0\1\1\0}<br>
\hexadef{7}{\0\1\1\1}<br>
\hexadef{8}{\1\0\0\0}<br>
\hexadef{9}{\1\0\0\1}<br>
\hexadef{A}{\1\0\1\0}<br>
\hexadef{B}{\1\0\1\1}<br>
\hexadef{C}{\1\1\0\0}<br>
\hexadef{D}{\1\1\0\1}<br>
\hexadef{E}{\1\1\1\0}<br>
\hexadef{F}{\1\1\1\1}<br>
<br>
% text, ktery chceme prevest na znaky<br>
\textnaascii{Ahoj,\ svete}<br>
% mezeru musime napsat s backslashem, vice v Zpravodaji 4/09, str. 205<br>
<br>
% zobrazi ascii znaky desitkove<br>
\desitkove<br>
<br>
% ve dvojkove soustave zobrazi jednotlive bity jako cislice 0,1<br>
\def\0{0}\def\1{1}<br>
\dvojkove<br>
<br>
% ve dvojkove soustave zobrazi jednotlive bity jako obdelniky a ctverecky<br>
\def\0{\leavevmode\vrule height 6pt depth0pt width2pt\kern2pt}<br>
\def\1{\leavevmode\vrule height 6pt depth0pt width6pt\kern2pt}<br>
% \leavevmode pro jistotu, aby nebylo \vrule ve vertikalnim modu<br>
\dvojkove<br>
<br>
\bye<br>
<br>
-----------------------<br>
<br>
<br>
<br>
<br>
> ------------ Původní zpráva ------------<br>
> Od: Jan Sustek <<a href="mailto:Jan.Sustek@seznam.cz">Jan.Sustek@seznam.cz</a>><br>
> Předmět: Re: [cstex] Prevod znakov do binarneho tvaru --> graficka reprezentacia<br>
> Datum: 20.1.2010 12:50:02<br>
> ----------------------------------------<br>
<div><div></div><div class="h5">> Dobry den,<br>
><br>
> takove makro v TeXu urcite napsat jde a bude to jednoduche. Ve Zpravodaji 4/09<br>
> na strane 205 je makro \strisky, ktere prevede text na jednotlive znaky a vypise<br>
> jejich sestnactkovou reprezentaci. Desitkovou reprezentaci dostaneme tak, ze<br>
> misto primitivu \meaning ascii hodnotu znaku ulozime do citace a ten vypiseme<br>
> pres \the. Dvojkovou reprezentaci dostaneme ze sestnactkove tak, ze nadefinujeme<br>
> dalsi makro, ktere z jedne sestnactkove cislice udela ctyri dvojkove cislice<br>
> (nebo jine znaky nebo treba ctverecky).<br>
><br>
> Zdravi<br>
><br>
> Jan Sustek<br>
><br>
> > ------------ Původní zpráva ------------<br>
> > Od: peter knezel <<a href="mailto:peter.knezel@gmail.com">peter.knezel@gmail.com</a>><br>
> > Předmět: [cstex] Prevod znakov do binarneho tvaru --> graficka reprezentacia<br>
> > Datum: 19.1.2010 17:27:25<br>
> > ----------------------------------------<br>
> > Zdravim,<br>
> ><br>
> > da sa v texu napisat/pouzit taky skript,<br>
> > v ktorom ako vstup sluzi textovy retazec, ktory sa prevedie<br>
> > na ascii znaky, nasledne na jeho binarnu reprezentaciu a potom<br>
> > by sa nakreslil v (eps, pdf) retazec s bodkami a ciarkami (alebo stvorceky a<br>
> > obdlzniky)?<br>
> ><br>
> > napr:<br>
> ><br>
> > Peter<br>
> > 80 101 116 101 114<br>
> > 01010000 01100101 01110100 01100101 01110010<br>
> > .|.|.... .||..|.| .|||.|.. .||..|.| .|||..|.<br>
> ><br>
> > Predpokladam, ze ak sa to da spravit, nie je problem tam zakomponovat aj<br>
> > parameter na velkost vystupu.<br>
> ><br>
> > S pozdravom,<br>
> ><br>
> > Peter Knezel<br>
> ><br>
> ><br>
> ><br>
> _______________________________________________<br>
> csTeX mailing list<br>
> <a href="mailto:csTeX@cs.felk.cvut.cz">csTeX@cs.felk.cvut.cz</a><br>
> <a href="http://lists.felk.cvut.cz/mailman/listinfo/cstex" target="_blank">http://lists.felk.cvut.cz/mailman/listinfo/cstex</a><br>
><br>
><br>
><br>
_______________________________________________<br>
csTeX mailing list<br>
<a href="mailto:csTeX@cs.felk.cvut.cz">csTeX@cs.felk.cvut.cz</a><br>
<a href="http://lists.felk.cvut.cz/mailman/listinfo/cstex" target="_blank">http://lists.felk.cvut.cz/mailman/listinfo/cstex</a><br>
</div></div></blockquote></div><br>