markdown-like language to generate pdf documents.
As you can know the pdf was created as portable format of textual information.
So i prefer to share some documents with .pdf
format instead of .txt
, .doc
, .docx
e.t.c
But every .doc/.docx editors are very clumsy in my opinion. So i was inspired by LaTex
to
create language to generate pdf generators, because i prefer Emacs above all else.
Current state of language is very minimalistic, but it is able to create simple documents.
pdfbuilder.exe -sscriptname
-doutput
-mmacrofile
macrofile is optional.
There are 2 elements: regular text and tags, changing rendering state.
Every tag is surrounded with <>, so it looks like <tag>
Also it can have arguments, so it will look like <tag:arg1,argn>
So check list of tag below:
<br>
- moves the cursor down to the start of new line.
<rs>
- resets state of rendering, setting the default values.
<hr>
- sets horizontal line at current place of cursor.(i mean current position along Y axis).
<np>
- creates new page.
<ss:arg>
- takes any natural number and sets spaces.
<str:arg>
- takes any number and sets text rise.
<fs:arg>
- takes any natural number and sets the size of font.
<fc:red,green,blue>
- takes 3 number beetween 0 and 255 and sets the color in RGB-space.
<img:path>
- takes the path of image and sets it at current position of cursor
<rt:angle>
- takes the angle between 0 and 360 and sets rotation angle of every object on page.
<mx:arg>
- takes number between 0% and 100% and moves position from right side to left one along X axis.
<my:arg>
- takes number between 0% and 100% and moves position from right side to left one along Y axis.
<sk:arg>
- takes real number as a value of kerning.
Macro acts in the same way like DEFINE
from C/C++ programming language. It is used to replace complex anything.
to define macro write - <mac:name#value>
to use macro write anywhere you need @name
, so macro value will be put instead of @name
Just a regular file, containg a list of predefined macroses.
Before your script is loaded and processed, it reads the macro script and saves all macroses and then
they can be used in your script