Basicで作られた花文字プログラムを、AppleScriptに移植したものです。元は、ChipmunkBasic用のサンプルプログラムで、1996年作成のクレジットが銘打たれていますが、オリジナルはもっと昔に作られたものでしょう。
図形パターンは西新宿に置かれているロバート・インディアナ氏作のオブジェ「LOVE」(1965年発表)のデータそのものです。
下地に敷く文字は変更できますが、模様の文字列(LOVE)は固定データで持たせているので、そのままでは変更できません。
→ その後、英単語の花文字プログラムを作成してみました。
AppleScript名:love |
— Created 2015-02-15 by Takaaki Naganoya — 2015 Piyomaru Software (* 20 rem PRINT "THANKS TO ROBERT INDIANA AND DAVID AHL" 21 rem print "contributed by ATStarr@Amherst.Edu 1996" http://www.nicholson.com/rhn/basic/classic_programs/love.bas *) set charMode to "E" –J or E set aTargChar to "makiko" set outText to "" set aSpc to returnSpc(charMode) of me set aList to retLoveList() set aPos to 0 set charFlag to true –false:space char repeat with i in aList set j to contents of i if charFlag = true then set aText to retCirculateStrs(aTargChar, j) of me else set aText to retCirculateStrs(aSpc, j) of me end if set outText to outText & aText set charFlag to not charFlag set aPos to aPos + j if aPos ≥ 60 then set aPos to 0 set outText to outText & return set charFlag to true end if end repeat return outText on retLoveList() return {60, 1, 12, 26, 9, 12, 3, 8, 24, 17, 8, 4, 6, 23, 21, 6, 4, 6, 22, 12, 5, 6, 5, 4, 6, 21, 11, 8, 6, 4, 4, 6, 21, 10, 10, 5, 4, 4, 6, 21, 9, 11, 5, 4, 4, 6, 21, 8, 11, 6, 4, 4, 6, 21, 7, 11, 7, 4, 4, 6, 21, 6, 11, 8, 4, 4, 6, 19, 1, 1, 5, 11, 9, 4, 4, 6, 19, 1, 1, 5, 10, 10, 4, 4, 6, 18, 2, 1, 6, 8, 11, 4, 4, 6, 17, 3, 1, 7, 5, 13, 4, 4, 6, 15, 5, 2, 23, 5, 1, 29, 5, 17, 8, 1, 29, 9, 9, 12, 1, 13, 5, 40, 1, 1, 13, 5, 40, 1, 4, 6, 13, 3, 10, 6, 12, 5, 1, 5, 6, 11, 3, 11, 6, 14, 3, 1, 5, 6, 11, 3, 11, 6, 15, 2, 1, 6, 6, 9, 3, 12, 6, 16, 1, 1, 6, 6, 9, 3, 12, 6, 7, 1, 10, 7, 6, 7, 3, 13, 6, 6, 2, 10, 7, 6, 7, 3, 13, 14, 10, 8, 6, 5, 3, 14, 6, 6, 2, 10, 8, 6, 5, 3, 14, 6, 7, 1, 10, 9, 6, 3, 3, 15, 6, 16, 1, 1, 9, 6, 3, 3, 15, 6, 15, 2, 1, 10, 6, 1, 3, 16, 6, 14, 3, 1, 10, 10, 16, 6, 12, 5, 1, 11, 8, 13, 27, 1, 11, 8, 13, 27, 1, 60} end retLoveList –Return Space (English Char/Japanese Char) on returnSpc(aMode) if aMode = "E" then return " " –Single character Space if aMode = "J" then return " " –Japanese Double Width Space end returnSpc on retCirculateStrs(aText, repCharTimes) set aLen to length of aText set aTimes to repCharTimes div aLen set aMod to repCharTimes mod aLen set outStr to "" repeat aTimes times set outStr to outStr & aText end repeat if aMod is not equal to 0 then set aModStr to text 1 thru aMod of aText set outStr to outStr & aModStr end if return outStr end retCirculateStrs |
More from my site
(Visited 51 times, 1 visits today)
指定文字の花文字テキストを取得する(Retina対応) – AppleScriptの穴 says:
[…] 類似の処理にこのようなものがあります。 → Love […]
指定単語の花文字テキストを取得する(Retina対応)英文字用 v2 – AppleScriptの穴 says:
[…] この、花文字テキストを出力するプログラムの英語版としては、love.scptといういにしえのデータをそのまま使いまわしたものがありますが、描画パターンを数値データで保持しているた […]