Guest User

Untitled

a guest
Jul 1st, 2018
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Awk 5.84 KB | None | 0 0
  1. BEGIN {
  2. FS = "\""
  3.  
  4. char["ガ"] = "$05"
  5. char["ギ"] = "$06"
  6. char["グ"] = "$07"
  7. char["ゲ"] = "$08"
  8. char["ゴ"] = "$09"
  9. char["ザ"] = "$0A"
  10. char["ジ"] = "$0B"
  11. char["ズ"] = "$0C"
  12. char["ゼ"] = "$0D"
  13. char["ゾ"] = "$0E"
  14. char["ダ"] = "$0F"
  15. char["ヂ"] = "$10"
  16. char["ヅ"] = "$11"
  17. char["デ"] = "$12"
  18. char["ド"] = "$13"
  19. char["バ"] = "$19"
  20. char["ビ"] = "$1A"
  21. char["ブ"] = "$1B"
  22. char["ボ"] = "$1C"
  23. char["が"] = "$26"
  24. char["ぎ"] = "$27"
  25. char["ぐ"] = "$28"
  26. char["げ"] = "$29"
  27. char["ご"] = "$2A"
  28. char["ざ"] = "$2B"
  29. char["じ"] = "$2C"
  30. char["ず"] = "$2D"
  31. char["ぜ"] = "$2E"
  32. char["ぞ"] = "$2F"
  33. char["だ"] = "$30"
  34. char["ぢ"] = "$31"
  35. char["づ"] = "$32"
  36. char["で"] = "$33"
  37. char["ど"] = "$34"
  38. char["ば"] = "$3A"
  39. char["び"] = "$3B"
  40. char["ぶ"] = "$3C"
  41. char["べ"] = "$3D"
  42. char["ぼ"] = "$3E"
  43. char["パ"] = "$40"
  44. char["ピ"] = "$41"
  45. char["プ"] = "$42"
  46. char["ポ"] = "$43"
  47. char["ぱ"] = "$44"
  48. char["ぴ"] = "$45"
  49. char["ぷ"] = "$46"
  50. char["ぺ"] = "$47"
  51. char["ぽ"] = "$48"
  52. char["ア"] = "$80"
  53. char["イ"] = "$81"
  54. char["ウ"] = "$82"
  55. char["エ"] = "$83"
  56. char["ォ"] = "$84"
  57. char["カ"] = "$85"
  58. char["キ"] = "$86"
  59. char["ク"] = "$87"
  60. char["ケ"] = "$88"
  61. char["コ"] = "$89"
  62. char["サ"] = "$8A"
  63. char["シ"] = "$8B"
  64. char["ス"] = "$8C"
  65. char["セ"] = "$8D"
  66. char["ソ"] = "$8E"
  67. char["タ"] = "$8F"
  68. char["チ"] = "$90"
  69. char["ツ"] = "$91"
  70. char["テ"] = "$92"
  71. char["ト"] = "$93"
  72. char["ナ"] = "$94"
  73. char["ニ"] = "$95"
  74. char["ヌ"] = "$96"
  75. char["ネ"] = "$97"
  76. char["ノ"] = "$98"
  77. char["ハ"] = "$99"
  78. char["ヒ"] = "$9A"
  79. char["フ"] = "$9B"
  80. char["ホ"] = "$9C"
  81. char["マ"] = "$9D"
  82. char["ミ"] = "$9E"
  83. char["ム"] = "$9F"
  84. char["メ"] = "$A0"
  85. char["モ"] = "$A1"
  86. char["ヤ"] = "$A2"
  87. char["ユ"] = "$A3"
  88. char["ヨ"] = "$A4"
  89. char["ラ"] = "$A5"
  90. char["ル"] = "$A6"
  91. char["レ"] = "$A7"
  92. char["ロ"] = "$A8"
  93. char["ワ"] = "$A9"
  94. char["ヲ"] = "$AA"
  95. char["ン"] = "$AB"
  96. char["ッ"] = "$AC"
  97. char["ャ"] = "$AD"
  98. char["ュ"] = "$AE"
  99. char["ョ"] = "$AF"
  100. char["ィ"] = "$B0"
  101. char["あ"] = "$B1"
  102. char["い"] = "$B2"
  103. char["う"] = "$B3"
  104. char["え"] = "$B4"
  105. char["お"] = "$B5"
  106. char["か"] = "$B6"
  107. char["き"] = "$B7"
  108. char["く"] = "$B8"
  109. char["け"] = "$B9"
  110. char["こ"] = "$BA"
  111. char["さ"] = "$BB"
  112. char["し"] = "$BC"
  113. char["す"] = "$BD"
  114. char["せ"] = "$BE"
  115. char["そ"] = "$BF"
  116. char["た"] = "$C0"
  117. char["ち"] = "$C1"
  118. char["つ"] = "$C2"
  119. char["て"] = "$C3"
  120. char["と"] = "$C4"
  121. char["な"] = "$C5"
  122. char["に"] = "$C6"
  123. char["ぬ"] = "$C7"
  124. char["ね"] = "$C8"
  125. char["の"] = "$C9"
  126. char["は"] = "$CA"
  127. char["ひ"] = "$CB"
  128. char["ふ"] = "$CC"
  129. char["へ"] = "$CD"
  130. char["ほ"] = "$CE"
  131. char["ま"] = "$CF"
  132. char["み"] = "$D0"
  133. char["む"] = "$D1"
  134. char["め"] = "$D2"
  135. char["も"] = "$D3"
  136. char["や"] = "$D4"
  137. char["ゆ"] = "$D5"
  138. char["よ"] = "$D6"
  139. char["ら"] = "$D7"
  140. char["り"] = "$D8"
  141. char["る"] = "$D9"
  142. char["れ"] = "$DA"
  143. char["ろ"] = "$DB"
  144. char["わ"] = "$DC"
  145. char["を"] = "$DD"
  146. char["ん"] = "$DE"
  147. char["っ"] = "$DF"
  148. char["ゃ"] = "$E0"
  149. char["ゅ"] = "$E1"
  150. char["ょ"] = "$E2"
  151. char["ー"] = "$E3"
  152.  
  153.  
  154. char["@"] = "$50"
  155. char["#"] = "$54"
  156. char["…"] = "$75"
  157.  
  158. # textbox borders
  159. char["┌"] = "$79"
  160. char["─"] = "$7A"
  161. char["┐"] = "$7B"
  162. char["│"] = "$7C"
  163. char["└"] = "$7D"
  164. char["┘"] = "$7E"
  165.  
  166. char["№"] = "$74"
  167.  
  168. char[" "] = "$7F"
  169. char["A"] = "$80"
  170. char["B"] = "$81"
  171. char["C"] = "$82"
  172. char["D"] = "$83"
  173. char["E"] = "$84"
  174. char["F"] = "$85"
  175. char["G"] = "$86"
  176. char["H"] = "$87"
  177. char["I"] = "$88"
  178. char["J"] = "$89"
  179. char["K"] = "$8A"
  180. char["L"] = "$8B"
  181. char["M"] = "$8C"
  182. char["N"] = "$8D"
  183. char["O"] = "$8E"
  184. char["P"] = "$8F"
  185. char["Q"] = "$90"
  186. char["R"] = "$91"
  187. char["S"] = "$92"
  188. char["T"] = "$93"
  189. char["U"] = "$94"
  190. char["V"] = "$95"
  191. char["W"] = "$96"
  192. char["X"] = "$97"
  193. char["Y"] = "$98"
  194. char["Z"] = "$99"
  195. char["("] = "$9A"
  196. char[")"] = "$9B"
  197. char[":"] = "$9C"
  198. char[";"] = "$9D"
  199. char["["] = "$9E"
  200. char["]"] = "$9F"
  201. char["a"] = "$A0"
  202. char["b"] = "$A1"
  203. char["c"] = "$A2"
  204. char["d"] = "$A3"
  205. char["e"] = "$A4"
  206. char["f"] = "$A5"
  207. char["g"] = "$A6"
  208. char["h"] = "$A7"
  209. char["i"] = "$A8"
  210. char["j"] = "$A9"
  211. char["k"] = "$AA"
  212. char["l"] = "$AB"
  213. char["m"] = "$AC"
  214. char["n"] = "$AD"
  215. char["o"] = "$AE"
  216. char["p"] = "$AF"
  217. char["q"] = "$B0"
  218. char["r"] = "$B1"
  219. char["s"] = "$B2"
  220. char["t"] = "$B3"
  221. char["u"] = "$B4"
  222. char["v"] = "$B5"
  223. char["w"] = "$B6"
  224. char["x"] = "$B7"
  225. char["y"] = "$B8"
  226. char["z"] = "$B9"
  227. char["é"] = "$BA"
  228. char["'t"] = "$BE"
  229. char["'s"] = "$D4"
  230. char["'"] = "$E0"
  231. char["-"] = "$E3"
  232. char["?"] = "$E6"
  233. char["!"] = "$E7"
  234. char["."] = "$E8"
  235. char["&"] = "$E9"
  236. char["♂"] = "$EF"
  237. char["/"] = "$F3"
  238. char[","] = "$F4"
  239. char["♀"] = "$F5"
  240. char["0"] = "$F6"
  241. char["1"] = "$F7"
  242. char["2"] = "$F8"
  243. char["3"] = "$F9"
  244. char["4"] = "$FA"
  245. char["5"] = "$FB"
  246. char["6"] = "$FC"
  247. char["7"] = "$FD"
  248. char["8"] = "$FE"
  249. char["9"] = "$FF"
  250. }
  251.  
  252. # skip lines that actually do use ASCII in quotes
  253. tolower($1) ~ /section/ ||
  254. tolower($1) ~ /include/ ||
  255. tolower($1) ~ /incbin/
  256.  
  257. !(tolower($1) ~ /section/ || tolower($1) ~ /include/ || tolower($1) ~ /incbin/) {
  258. i = 1
  259. ORS = ""
  260.  
  261. while (i <= NF) {
  262. if (i % 2 == 1)
  263.     print $(i)
  264. else {
  265.     f = $(i)
  266.     while (f != "") {
  267.         c = substr(f,1,1)
  268.         f = substr(f,2,length(f) - 1)
  269.         if (c > "𐀀") { # U+10000
  270.             c = c substr(f,1,3)
  271.             f = substr(f,4,length(f) - 3)
  272.         } else if (c > "ࠀ") { # U+0800
  273.             c = c substr(f,1,2)
  274.             f = substr(f,3,length(f) - 2)
  275.         } else if (c > "€") { # U+0080
  276.             c = c substr(f,1,1)
  277.             f = substr(f,2,length(f) - 1)
  278.         }
  279.  
  280.         if (c == "'") {
  281.             if (substr(f,1,1) == "m" ||
  282.                 substr(f,1,1) == "r" ||
  283.                 substr(f,1,1) == "t" ||
  284.                 substr(f,1,1) == "s" ||
  285.                 substr(f,1,1) == "v" ||
  286.                 substr(f,1,1) == "l") {
  287.                 c = c substr(f,1,1)
  288.                 f = substr(f,2,length(f) - 1)
  289.             }
  290.         }
  291.  
  292.         print char[c]
  293.         if (length(f))
  294.             print ","
  295.     }
  296. }
  297.  
  298. i = i + 1
  299. }
  300. print "\n"
  301. ORS = "\n"
  302. }
Add Comment
Please, Sign In to add comment