RISC OS BBC BASIC V Source | 1989-03-02 | 4KB | 174 lines
>$.CHARDES_C
"FX4":
"FX225 1":
:V=G:G=40:
4("Character Designer"):G=V:
'''"This utility allows you to alter the shapes of the letters and numbers that appear on the screen."''"The controls used to do this are:"'
"Press a key at any time to select the character to be re-defined."':
"Press the ";:
"cursor keys";:
" at the top right of the keyboard to move the cursor around."':
"Press ";:
"RETURN";:
" to change the colour of theblob ""underneath"" the cursor."':
"Press ";:
"DELETE";:
" to select a character from the font list at the top of the screen - useful for defining characters that don't appear on the keyboard. Press ";:
"DELETE";:
" again here to select."':
"Press ";:
"COPY";:
" to save the new characters."':
"Press ";:
"TAB";:
" to reset the characters."':
"Press the ";:
"space bar";:
" to start defining your characters, or ";:
"ESCAPE";
" to exit.":
Z6Q=2-G
4("Character Designer"):
G<>20
2-6:M=-(G=20)*7+11:
N,M);
I%=M+1
M+10:
N,I%);" ";:
N,M+11);
128:B%=1:`%=0:a%=0:
"FX 4,2":
"FX225 9":H$=
"FX15":
"FX138 0 "+
H<32H=
H=127G$=
1(_%))
H$,G$)=0
G$):_%=
H$,G$)
`%=(`%-1)
`%=(`%+1)
a%=(a%-1)
a%=(a%+1)
"FX25":
5(`%,a%,-1):b%(`%,a%)=b%(`%,a%)
A(_%):
N+15,M+5);
A(_%)
23,_%:
7:O=0:
7:O=O*2+
(b%(J%,I%)):
5(X%,Y%,C%):
C%=-1
(X%+2+N)*(2^Q)*16+(2^Q)*16-1,1024-(Y%+2+M)*32-27:
&65,(X%+2+N)*(2^Q)*16,1024-(Y%+2+M)*32:
8(_%)
1(_%):
7:O=I?(I%+1):
-1:b%(J%,I%)=-(O
1):O=O
1(_%)?I=_%:
"OS_Word",10,I:
`%+2+N,a%+2+M);:
5(I%,J%,
(b%(I%,J%)))*7):
N+15,M+5);
2-8,17,G
2+7,3
2-16,10,G
2+15,3
30,23,1,0;0;0;0;:
I%=127
1(_%):
2-8,17,G
2+7,3
2-16,10,G
2+15,3
" "),
H<32H=
H$,2),
((G=20
(G<>20
,0);:K=0
,6-(G=20)*7);:K=0
15-(G<>20)*16,
);:K=0
=15-(G<>20)*16
);:K=0
H=127:
G=20_%=
0,25);"Hit key for character"'"DELETE to select from above list"'"Cursor keys & RETURN to edit character"'"COPY key to SAVE"'"TAB to reset"'"ESCAPE for help":
4(G$)
2),0);:
C(G$):
C(G$)
I%,W%,V%:
1(224):W%=I!1:V%=I!5:
G$,I%,1)),224):
23,224,W%,W%
&100,W%
&10000,W%
&1000000,V%,V%
&100,V%
&10000,V%
&1000000:
D(C%,S)
J%,I%:
1(C%):
23,S:
I?(J%*4+I%
S,10,8:
11,11,9:
" at line ";
:*FX 4
G<>20
G<>20
@("Please wait - compiling font preparatory to saving.")