Roxame Home - Diccan Home


Main commands

1. Writing on the screen directly with commands

To write a short string directly from the keyboard : key in the string and add the suffix .tx (Elles.tx). By default, that is written on the upper left, and in black.

Position : (a number + ) textc_x, textc_y

Text font : aharoni, angsana, angsana_bold, angsana_bold_italic, angsana_italic
angsana_new, angsana_new_bold , angsana_new_bold_italic
arabic , arabic_bold
arial , arial_black , arial_bold , arial_bold_italic, arial_italic , arial_narrow

Size : a number + fontsize

2. Writing text from scripts

Text color : redtext,, greentext, bluetext, blacktext, whitetext, yellowtext, siennatext, sepiatext (parameters 180 à 187)

text : refText = scriptWord[3]; break; //text
font : refFontName = scriptWord[3]; break; //font

text_x : refTextX = Integer.parseInt(scriptWord[3]);break;
text_y : refTextY = Integer.parseInt(scriptWord[3]); break;
font_size : refFontSize = Integer.parseInt( scriptWord[3]);
text_color :

3. Operations on text files

tload service 108 . loading a .txt text from the current subdirectory (refDisk + refSubdirectory + "\\" + refText + ".txt")
tload1 service 109 : the reftext text, htm, from diccan refDisk"\\!!!SITE_WEB\\" + refText
tload3 service 110 loads adjusted text grom data/Texts refDisk + "Roxame\\data\\Texts\\" + refText + "_3"


uses toTextitems()

and produces a strings array textItem[i][k] where i is the line and k the word in this line (with a maximum of 14)
nota : this function uses void Rread(String lignealire)

firstT in the current directory, loads the firts text
nextT loads the next text
precedT loads the precedent text
lastT loads the last text
randomT loads a text taken at random in the current directory

tconcat - void textConcat(String txtTobecopied) concatenates txtTobecopied to the text in memory
bconcat 1423 textConcat (... in MyS)

4. Other uses

letters scatters some letters
phrases Phrases(); break; //phrases image generation from a text, using font generator, and random placement of successive letters
regtext : Regtext(); break; //regtext
regline : Regline(); break;

firstC : refChar = 0; Rread(textLine[refLine]); Scroll(String.valueOf(refChar) +"e character : " +readword[refWord].substring(refChar, refChar+1));
nextC : refChar = (min (refChar+1, readword[refWord].length()-2 )) ;
precedC : refChar = (max (refWord-1, 2));Rread(textLine[refLine]); Scroll(String.valueOf(refChar) +"e character : " +readword[refWord].substring(refChar, refChar+1));
lastC : refChar = 1 + readwordscount;Rread(textLine[refLine]); Scroll(String.valueOf(refChar) +"e character : " +readword[refWord].substring(refChar, refChar+1));
randomC : refChar = 2 +(int) random(readwordscount-1 ); Rread(textLine[refLine]);

random_F service 105

Lines : firstL : refLine = 1; ; refWord = 2 ; Scroll(textLine[refLine]);
nextL : refLine = (min (refLine+1, refTextLength)) ; Scroll(textLine[refLine]);
precedL : refLine = (max (refLine-1, 0)); Scroll(textLine[refLine]);
lastI : refLine = refTextLength; Scroll(textLine[refLine]);
random_L : refLine = ( (int) random(refTextLength +1 )); Scroll(textLine[refLine]);

nextR service 122
precedR service 123
random_R service 125

firstW case 141 : refWord = 2; Rread(textLine[refLine]); Scroll(readword[refWord]); break;
nextW case 142 : refWord = 1 +(min (refWord+1, readwordscount)) ; Rread(textLine[refLine]); Scroll(readword[refWord]);
precedW case 143 : refWord = (max (refWord-1, 2));Rread(textLine[refLine]); Scroll(readword[refWord]);
lastW case 144 : refWord = 1 + readwordscount;Rread(textLine[refLine]); Scroll(readword[refWord]);
random_W case 145 : refWord = 2 +(int) random(readwordscount-1 ); Rread(textLine[refLine]); Scroll(readword[refWord]);


text service 1340
text_ list Garcilaso 7_pierres Algoristes Theater Ronsard1
text_color service 1345
text_x service 1342
text_y service 1343
textedate text Texts

write_ list letters phrases. letters scartters letters , phrases scatters phrases
letters service 2004
phrases generator 12

H0 : if (refFontName.equals("arial")) refFontSize = 12 ; else refFontSize = 24 ; textSize(refFontSize); break ; //H0
H1 : if (refFontName.equals("arial")) refFontSize = 48 ; else refFontSize = 96 ; textSize(refFontSize); break ; //H1
H2 : if (refFontName.equals("arial")) refFontSize = 36 ; else refFontSize = 72 ; textSize(refFontSize); break ; //H2
H3 : if (refFontName.equals("arial")) refFontSize = 24 ; else refFontSize = 48 ; textSize(refFontSize); break ; //H3


Text structures are the main intermediary between the bit level and meaning for us.
Images also do that, but otherwise.

Text formats used by Roxame - .txt, for indexes, dico, base, intermediary files, scripts
- .html for comments, publishing
- .pde for Processing programs

Processing is limited in quality text printing, so artistc formats will mainly use HTML and CSS.

Neverteless, ins some cases, some elements of Processing text functions can be used.

Texts can be sorted, see Assets

Roxame is controlled exclusively from the keyboard. The mouse has no effect.

Text may be more or less structured. Program code is more structured than standard prose.

- user interface : commands, display
- dictionary and macros (see special notice)
- scripts (see special notice)
- database

- integration of text in images
- texts properly speaking, with atomization, assembly, works
- programming

Extension to poetry. (Balpe...)
Connexion with video (the river at quai Brany, the lady with letters raining...

Programming tips

Beware : Ddo() processes the suffixes, e.t. .tx differently if the word is recognized or not. If the word is not found, Ddo() processes itself. Otherwises, it sends to the List() function. In principle, the resulsts are the same.

Basically, the display of text in Processing uses the text(string, x, y) function (text to be displayed, coordinates), with prior parametring
- in screen size andcolor format (100, 100, P3D);
- in font PFont font; font = loadFont("FFScala-32.vlw");
- in color.
In Roxame, by default, font is Arial, color is white.

Note that the Scroll function displays what you write, and anything commanded by Scrol() in the program. Its effects are visible in in the Affich() function.

A lot of messages to the user may be english or french , with String refLanguage_ just tape english or french (but many commands and messages are only in english)

We use her the basic Processing fuction text (string, x, y) : the string to display and x y coordinates, with parameters
- size(100, 100, P3D);
- PFont font; font = loadFont("FFScala-32.vlw");

.html text
combination of texts and images, using CSS
diccan files
possibly general reconstruction of diccan


Printed text + images. P age setting functions

void textEnter(){ Just test, it seems

regtext generator 000 000 16

Generation of text files ( .txt or .html)

- void textDate() called by tdate
- void textIndex(int indexColumn)
- void textSave(String textTosave, int column, int columnSup)
- void textEdit() called by tedit
- void txtConcat(String txtTobecopied) called by par tconcat

tdate service 000 000 1410 tdate.c comment 000 000 writing the date void textDate(){
boolean isUppercase(String str1){

void textIndex(int indexColumn){

void textConcat(String txtTobecopied){

non appelé int textLocate(String wordtobefound) gives the dico line where this word is
tloadartists 1414 textLoad(.. Artistes.txt)

doc_comment 2012 has effets on refText ???


Texts can be "atomized" at many levels, which call for different procesesses or atomization as well as assembly (compositing).

Formats are quite different for sound, printing or displaying on a screen.

Some formats are purely graphic others purely textual, and still others, in print or display, combine the two forms. Cinema adds the sound track.

The borders are sometimes quite blurry :
- icons and ideograms are both visual and textual.
- text printing or displaying has to be driven by the page setting, which is graphic and textual at the same time.

Suppose that we combine at random.

With just letters, we will have no meaning, but sometimes by exception. We can possbly get pleasat graphical effects playing with fonts, sizes and colors. Quite abstract, anyway.

With words, we can be lucky. A word has some meaning, and random meaning associations can be funny if not moving. It could be more interesting if we work on a selection of words pertaining to a coherent semantic domain (history period, geographical place, emotions...).

It will be still more interesting with full sentences. It was the idea of Oulipo, for instance. Here also, better results will probably emerge out a sufficiently coherent corpus of phrases. And of course, "artistical", let's say literary corpus.

With higher levels, paragraphs and chapters, we will probably not get anything interesting, because the mind will focus on the topic of one paragraph, then find difficulty to jump into another mental world. But we should try, probably with more effort on the corpus build.



An important case, not artistical by itself, is the constitution of a corpus of text subsets, each with an interesting meaning by itself, and susceptible to be chained into a more global work.
A dictionary is such a work, of which the stardard order is given by alphatetic rules. But we can try other assembly works.


atomize void formatAdjust(){//formadj
void cssGen(int postModel){
void nextBlock(){

fileass void fileAss (){

void lineFormat(){


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.