' TENGWAR TYPEWRITER FOR ENGLISH ' (for use with the Tengwar Quenya font version 1.6 - January 1995 ' By: Daniel S. Smith (Based on a macro by Lester Simons) Dim Shared F$(150) Sub MAIN LoadTengwar ToolsAutoCorrect .SmartQuotes = 0, .InitialCaps = 0, .SentenceCaps = 0, .Days = 0, .ReplaceText = 0, .Formatting = 0 loop: Begin Dialog UserDialog 835, 385, "TENGWAR TYPEWRITER FOR ENGLISH" CancelButton 700, 340, 125, 22 PushButton 5, 15, 37, 22, "T", .k01 PushButton 45, 15, 37, 22, "P", .k02 PushButton 85, 15, 37, 22, "CH", .k03 PushButton 125, 15, 37, 22, "K", .k04 PushButton 5, 40, 37, 22, "D", .k05 PushButton 45, 40, 37, 22, "B", .k06 PushButton 85, 40, 37, 22, "J", .k07 PushButton 125, 40, 37, 22, "G", .k08 PushButton 5, 65, 37, 22, "TH", .k09 PushButton 45, 65, 37, 22, "F", .k10 PushButton 85, 65, 37, 22, "SH", .k11 PushButton 125, 65, 37, 22, "KH", .k12 PushButton 5, 90, 37, 22, "DH", .k13 PushButton 45, 90, 37, 22, "V", .k14 PushButton 85, 90, 37, 22, "ZH", .k15 PushButton 125, 90, 37, 22, "GH", .k16 PushButton 5, 115, 37, 22, "N", .k17 PushButton 45, 115, 37, 22, "M", .k18 PushButton 85, 115, 37, 22, "NG", .k19 PushButton 125, 115, 37, 22, "NG", .k20 PushButton 5, 140, 37, 22, "R", .k21 PushButton 45, 140, 37, 22, "W", .k22 PushButton 85, 140, 37, 22, "Y", .k23 PushButton 125, 140, 37, 22, "W", .k24 PushButton 5, 165, 37, 22, "R", .k25 PushButton 45, 165, 37, 22, "RH", .k26 PushButton 85, 165, 37, 22, "L", .k27 PushButton 125, 165, 37, 22, "LH", .k28 PushButton 5, 190, 37, 22, "S", .k29 PushButton 45, 190, 37, 22, "S", .k30 PushButton 85, 190, 37, 22, "Z", .k31 PushButton 125, 190, 37, 22, "Z", .k32 PushButton 5, 215, 37, 22, "H", .k33 PushButton 45, 215, 37, 22, "HW", .k34 PushButton 85, 215, 37, 22, "Y", .k35 PushButton 125, 215, 37, 22, "W", .k36 PushButton 215, 15, 37, 22, "I", .k37 PushButton 255, 15, 37, 22, "J", .k38 PushButton 175, 65, 37, 22, "?", .k39 PushButton 215, 65, 37, 22, "?", .k40 PushButton 255, 65, 37, 22, "?", .k41 PushButton 295, 65, 37, 22, "?", .k42 PushButton 175, 90, 37, 22, "the", .k43 PushButton 215, 90, 37, 22, "of", .k44 PushButton 255, 90, 37, 22, "?", .k45 PushButton 295, 90, 37, 22, "?", .k46 PushButton 175, 190, 37, 22, "S", .k47 PushButton 215, 190, 37, 22, "S", .k48 PushButton 255, 190, 37, 22, "Z", .k49 PushButton 215, 215, 37, 22, "HW", .k50 PushButton 295, 215, 37, 22, "C", .k51 PushButton 290, 265, 37, 22, "'S", .k52 PushButton 330, 265, 37, 22, "'S", .k53 PushButton 370, 265, 37, 22, "'S", .k54 PushButton 430, 15, 37, 22, "A", .k55 PushButton 550, 15, 37, 22, "I", .k56 PushButton 510, 15, 37, 22, "E", .k57 PushButton 590, 15, 37, 22, "O", .k58 PushButton 630, 15, 37, 22, "U", .k59 PushButton 670, 15, 37, 22, "U", .k60 PushButton 790, 15, 37, 22, "' Y", .k61 PushButton 470, 15, 37, 22, "A", .k62 PushButton 750, 15, 37, 22, "Y", .k63 PushButton 710, 15, 37, 22, "' W", .k64 PushButton 430, 40, 37, 22, "A", .k65 PushButton 550, 40, 37, 22, "I", .k66 PushButton 510, 40, 37, 22, "E", .k67 PushButton 590, 40, 37, 22, "O", .k68 PushButton 630, 40, 37, 22, "U", .k69 PushButton 670, 40, 37, 22, "U", .k70 PushButton 790, 40, 37, 22, "' Y", .k71 PushButton 470, 40, 37, 22, "A", .k72 PushButton 750, 40, 37, 22, "Y", .k73 PushButton 710, 40, 37, 22, "' W", .k74 PushButton 430, 65, 37, 22, "A", .k75 PushButton 550, 65, 37, 22, "I", .k76 PushButton 510, 65, 37, 22, "E", .k77 PushButton 590, 65, 37, 22, "O", .k78 PushButton 630, 65, 37, 22, "U", .k79 PushButton 670, 65, 37, 22, "U", .k80 PushButton 790, 65, 37, 22, "' Y", .k81 PushButton 470, 65, 37, 22, "A", .k82 PushButton 750, 65, 37, 22, "Y", .k83 PushButton 710, 65, 37, 22, "' W", .k84 PushButton 430, 90, 37, 22, "A", .k85 PushButton 550, 90, 37, 22, "I", .k86 PushButton 510, 90, 37, 22, "E", .k87 PushButton 590, 90, 37, 22, "O", .k88 PushButton 630, 90, 37, 22, "U", .k89 PushButton 670, 90, 37, 22, "U", .k90 PushButton 790, 90, 37, 22, "' Y", .k91 PushButton 470, 90, 37, 22, "A", .k92 PushButton 750, 90, 37, 22, "Y", .k93 PushButton 710, 90, 37, 22, "' W", .k94 PushButton 510, 115, 37, 22, "E", .k95 PushButton 430, 140, 37, 22, "A", .k96 PushButton 510, 140, 37, 22, "E", .k97 PushButton 630, 140, 37, 22, "U", .k98 PushButton 790, 140, 37, 22, "' Y", .k99 PushButton 430, 165, 37, 22, "A", .k100 PushButton 510, 165, 37, 22, "E", .k101 PushButton 630, 165, 37, 22, "U", .k102 PushButton 790, 165, 37, 22, "' Y", .k103 PushButton 430, 190, 37, 22, "A", .k104 PushButton 510, 190, 37, 22, "E", .k105 PushButton 630, 190, 37, 22, "U", .k106 PushButton 790, 190, 37, 22, "' Y", .k107 PushButton 430, 215, 37, 22, "A", .k108 PushButton 510, 215, 37, 22, "E", .k109 PushButton 630, 215, 37, 22, "U", .k110 PushButton 790, 215, 37, 22, "' Y", .k111 PushButton 35, 265, 37, 22, "~~", .k112 PushButton 35, 290, 37, 22, "~~", .k113 PushButton 35, 315, 37, 22, "~~", .k114 PushButton 35, 340, 37, 22, "~~", .k115 PushButton 75, 265, 37, 22, "~", .k116 PushButton 75, 290, 37, 22, "~", .k117 PushButton 75, 315, 37, 22, "~", .k118 PushButton 75, 340, 37, 22, "~", .k119 PushButton 185, 290, 37, 22, "---", .k120 PushButton 185, 315, 37, 22, "---", .k121 PushButton 225, 290, 37, 22, "--", .k122 PushButton 225, 315, 37, 22, "--", .k123 PushButton 290, 315, 37, 22, ":", .k124 PushButton 330, 315, 37, 22, ".", .k125 PushButton 370, 315, 37, 22, "~", .k126 PushButton 290, 340, 37, 22, "?", .k127 PushButton 330, 340, 37, 22, "!", .k128 PushButton 430, 315, 125, 22, "SPACE", .k129 PushButton 430, 340, 125, 22, "RETURN", .k130 PushButton 185, 265, 37, 22, "---", .k131 PushButton 185, 340, 37, 22, "---", .k132 PushButton 225, 265, 37, 22, "--", .k133 PushButton 225, 340, 37, 22, "--", .k134 PushButton 370, 340, 37, 22, "~~", .k135 PushButton 700, 315, 125, 22, "BACKSPACE", .k136 PushButton 610, 315, 37, 22, "^", .k137 PushButton 570, 327, 37, 22, "<", .k138 PushButton 650, 327, 37, 22, ">", .k139 PushButton 610, 340, 37, 22, "v", .k140 Text 40, 2, 97, 13, "STANDARD:", .Text1 Text 212, 2, 91, 13, "CARRIERS:", .Text2 Text 210, 51, 96, 13, "EXTENDED:", .Text3 Text 212, 175, 104, 13, "ALTERNATE:", .Text4 Text 320, 251, 67, 13, "S-CURL:", .Text5 Text 568, 2, 133, 13, "ABOVE-TEHTAR:", .Text6 Text 378, 18, 51, 13, "WIDE:", .Text7 Text 356, 44, 73, 13, "CENTER:", .Text8 Text 348, 69, 81, 13, "NARROW:", .Text9 Text 350, 95, 80, 13, "CARRIER:", .Text10 Text 377, 120, 63, 13, "INSIDE:", .Text11 Text 680, 114, 20, 13, "alt", .Text12 Text 480, 114, 20, 13, "alt", .Text13 Text 568, 240, 132, 13, "BELOW-TEHTAR", .Text14 Text 567, 366, 123, 13, "MOVE CURSOR", .Text31 Text 378, 145, 51, 13, "WIDE:", .Text15 Text 356, 170, 73, 13, "CENTER:", .Text16 Text 348, 195, 81, 13, "NARROW:", .Text17 Text 350, 220, 80, 13, "CARRIER:", .Text18 Text 118, 321, 60, 13, "BELOW", .Text19 Text 122, 295, 56, 13, "ABOVE", .Text20 Text 126, 271, 43, 13, "HIGH", .Text21 Text 126, 345, 39, 13, "LOW", .Text22 Text 43, 251, 65, 13, "TILDES:", .Text23 Text 10, 366, 128, 13, "WIDE/NARROW", .Text24 Text 200, 251, 51, 13, "BARS:", .Text25 Text 166, 366, 128, 13, "WIDE/NARROW", .Text26 Text 290, 302, 125, 13, "PUNCTUATION:", .Text27 Text 430, 260, 383, 13, "Enter Tehtar symbols after placing Tengwar letters", .Text28 Text 460, 275, 332, 13, "(for use with Tengwar Quenya font ver: 1.6)", .Text29 Text 500, 290, 235, 13, "Daniel S. Smith - January 1995", .Text30 End Dialog Dim TengwarKeys As UserDialog key = Dialog(TengwarKeys) If key = 0 Then Goto exit If key = 136 Then back = CharLeft(1, 0) If back = 0 Then Goto loop Else CharRight 1, 0 EditClear - 1 End If ElseIf key = 137 Then LineUp 1, 0 ElseIf key = 138 Then CharLeft 1, 0 ElseIf key = 139 Then CharRight 1, 0 ElseIf key = 140 Then LineDown 1, 0 Else Insert F$(key) CharLeft 1 CharRight 1, 1 Font "Tengwar Quenya" FontSize 20 CharRight 1 End If Goto loop exit: End Sub Sub LoadTengwar F$(1) = "1" F$(2) = "q" F$(3) = "a" F$(4) = "z" F$(5) = "2" F$(6) = "w" F$(7) = "s" F$(8) = "x" F$(9) = "3" F$(10) = "e" F$(11) = "d" F$(12) = "c" F$(13) = "4" F$(14) = "r" F$(15) = "f" F$(16) = "v" F$(17) = "5" F$(18) = "t" F$(19) = "g" F$(20) = "b" F$(21) = "6" F$(22) = "y" F$(23) = "h" F$(24) = "n" F$(25) = "7" F$(26) = "u" F$(27) = "j" F$(28) = "m" F$(29) = "8" F$(30) = "i" F$(31) = "k" F$(32) = "," F$(33) = "9" F$(34) = "o" F$(35) = "l" F$(36) = "." F$(37) = "`" F$(38) = "~" F$(39) = "!" F$(40) = "Q" F$(41) = "A" F$(42) = "Z" F$(43) = "@" F$(44) = "W" F$(45) = "S" F$(46) = "X" F$(47) = "*" F$(48) = "I" F$(49) = "K" F$(50) = "<" F$(51) = "]" F$(52) = "_" F$(53) = "+" F$(54) = "|" F$(55) = "#" F$(56) = "$" F$(57) = "%" F$(58) = "^" F$(59) = "&" F$(60) = Chr$(224) F$(61) = Chr$(212) F$(62) = Chr$(220) F$(63) = Chr$(216) F$(64) = Chr$(232) F$(65) = "E" F$(66) = "R" F$(67) = "T" F$(68) = "Y" F$(69) = "U" F$(70) = Chr$(225) F$(71) = Chr$(213) F$(72) = Chr$(221) F$(73) = Chr$(217) F$(74) = Chr$(233) F$(75) = "D" F$(76) = "F" F$(77) = "G" F$(78) = "H" F$(79) = "J" F$(80) = Chr$(226) F$(81) = Chr$(214) F$(82) = Chr$(222) F$(83) = Chr$(218) F$(84) = Chr$(234) F$(85) = "C" F$(86) = "V" F$(87) = "B" F$(88) = "N" F$(89) = "M" F$(90) = Chr$(227) F$(91) = Chr$(215) F$(92) = Chr$(223) F$(93) = Chr$(219) F$(94) = Chr$(235) F$(95) = "L" F$(96) = Chr$(208) F$(97) = Chr$(200) F$(98) = Chr$(228) F$(99) = Chr$(204) F$(100) = Chr$(209) F$(101) = Chr$(201) F$(102) = Chr$(229) F$(103) = Chr$(205) F$(104) = Chr$(210) F$(105) = Chr$(202) F$(106) = Chr$(230) F$(107) = Chr$(206) F$(108) = Chr$(211) F$(109) = Chr$(203) F$(110) = Chr$(231) F$(111) = Chr$(207) F$(112) = ")" F$(113) = "P" F$(114) = ":" F$(115) = "?" F$(116) = "0" F$(117) = "p" F$(118) = ";" F$(119) = "/" F$(120) = "{" F$(121) = Chr$(34) F$(122) = "[" F$(123) = "'" F$(124) = "-" F$(125) = "=" F$(126) = "\" F$(127) = Chr$(250) F$(128) = Chr$(251) F$(129) = Chr$(32) F$(130) = Chr$(13) F$(131) = Chr$(236) F$(132) = Chr$(237) F$(133) = Chr$(238) F$(134) = Chr$(239) F$(135) = Chr$(252) End Sub