Again, creating messages in code- this time in Egyptian hieroglyphs.
The 'look-up' of the graphics symbols is used. Can you read the name/message and the 'cartouche'??
You'll need these images saved to run the code...
- -
' ******************************************************
' ** **
' ** Hieroglyph messages- hieroglyphs3b.bas **
' ** **
' ** tenochtitlanuk Oct 30 2020 **
' ** **
' ******************************************************
nomainwin
WindowWidth =1290
WindowHeight = 460
textbox #w.tb1, 930, 260, 240, 30
graphicbox #w.g0, 15, 5, 230, 305
graphicbox #w.g1, 255, 5, 650, 308
graphicbox #w.g2, 5, 330,1200, 70
button #w.b1, "New Text", [newText], LR, 50, 156, 74, 72
button #w.b2, "Save graphic", [saveGr], LR, 50, 78, 74, 72
statictext #w.st1, "", 930, 20, 380, 160
open "Hieroglyph writer" for window as #w
#w "trapclose quit"
CR$ =chr$( 10)
#w.st1 "You can find a lot about Egyptian hieroglyphs on Wikipedia" +CR$ +CR$ +_
"I am using here a simplified phonetic version" +CR$ +CR$ +_
"'New Text' asks for new word or message." +CR$ +CR$ +_
"'Save graphic' saves the message as a BMP"
#w.st1 "!font 12"
#w.tb1 "!font 10"
#w.tb1 "New source here. a...z and space only."
loadbmp "scr", "view.bmp"
#w.g0 "down ; drawbmp scr 1 1 ; flush"
loadbmp "scr", "hieroglyphs7b.bmp"
#w.g1 "down ; drawbmp scr 1 1 ; flush"
#w.g2 "down ; fill 180 180 80 ; flush"
for x =0 to 5
for y =0 to 4
xScr =66 +x *107
yScr = 7 +y * 60
#w.g1 "getbmp scr" +right$( "00" +str$( x +6 *y), 2) +" "; xScr; " "; yScr; " 50 50"
next y
next x
loadbmp "scr", "cartouche.bmp"
#w.g1 "down ; drawbmp scr 1 1 ; flush"
letter$ ="abcde fghijklmnopqrstuvwxyz"
source$ ="alexandros the great"
gosub [firstRun]
wait
[newText]
#w.tb1 "!contents? source$"
source$ =lower$( source$)
for l =1 to len( source$)
g$ =mid$( source$, l, 1)
if instr( "abcdefghijklmnopqrstuvwxyz ", g$) =0 then
#w.tb1 "Invalid input"
timer 4000, [k]
wait
[k]
timer 0
#w.tb1 ""
exit for
end if
next l
[firstRun]
#w.g2 "fill 180 180 80"
for j =1 to len( source$)
p =instr( letter$, mid$( source$, j, 1))
n$ =right$( "00" +str$( p -1), 2)
#w.g2 "drawbmp scr" +n$ +" " +str$( 54 *j +2) +" 10"
next j
#w.g2 "flush"
wait
[saveGr]
#w.g2 "getbmp scr 1 1 1200 70"
filedialog "Filename", "*.bmp", fn$
bmpsave "scr", fn$ +".bmp"
wait
sub quit h$
close #w
end
end sub