The team
The team and what everyone did
Samuel Deboni - Editor and file format
Igor Fagundes - Editor and file format
Henrique Hiram - PDF exporter
Gleiston Assis - PDF exporter and file format
About the project
We experimented with a non text based typesetting format, the result was a file format we called Scroll, and the respective editor Scrolled.
The main idea was to have a easy to use editor like a Word processor, but with a more structure format like LaTeX, and thinking about it the best way to represent such thing is with a non text file format.
The result was a hierarchical file with the structure
Chapters -> Topics -> Sub Topics -> Sub Sub Topics -> Paragraphs -> Words -> Characters
The editor
The editor is written using Odin, SDL and SDL_ttf for rendering, and has about 3kLOC.
Here is the editor working.
Loading a file
Navigating
Some Editing
PDF Exporting
We could not finish the PDF exporter, so the result is not very good, but here is what we have so far.
The result
We are very happy with the result and we already can think about new features to add, in case we continue working on this project.
One thing I realized is that after the base editing was done, because the structured nature of the file format, adding things to the rendering like bold and Italic or colored text was very easy, and I want to experiment with new layouts and features.
Going forward
If we decide to continue with the project, the first think to do will be to finish the PDF exporter, and do a major rewrite on the editor. Right now the editor still has some bugs, and wee need to create a solid foundation to keep working. Right now we use the best memory management strategy known to man, allocate and forget.
After that I'd like to explore and push this idea. After all typesetting is a big topic, right now it is only text, but we can add images, mathematical symbols and so much more.
Build
Here are builds for windows and linux. For the linux version you need to have installed in your system SDL2 and SDL2_ttf, it was only tested on Arch Linux, it may not work on other distributions.
Keyboard shortcuts
The navigation is not very good, but here are the keys
Arrow Up / Scroll Up
-> move the cursor upArrow Down / Scroll Down
-> move the cursor downArrow Up / Scroll Up
+LShift
-> increase levelArrow Down / Scroll Down
+LShift
-> decrease levelCtrl
+N
-> Split TopicCtrl
+J
-> Join TopicCtrl
+B
-> Toggle BoldCtrl
+I
-> Toggle ItalicReturn
-> New paragraph or split pargraphBackspace
-> Delete character
It is also possible to navigate the paragraphs using the left panel.